我使用模板fourfold.Rmd
创建了一个完形填空练习,使用的表格由学生填写。这是我的练习:
```{r data generation, echo = FALSE, results = "hide"}
rm(list=ls())
p_load("tidyverse")
categs<-LETTERS[1:3]
ncat<-length(categs)
varname<-"Tr"
categ_ref<-sample(1:ncat,1)
if(categ_ref==1){
sol<-c(0,1,0,
0,0,1)
}else if(categ_ref==2){
sol<-c(1,0,0,
0,0,1)
}else if(categ_ref==3){
sol<-c(1,0,0,
0,1,0)
}
questions<-rep("",length(sol))
type<-rep("num",length(sol))
```
Question
========
Considere la variable tratamiento ($`r varname `$) con posibles valores $`r paste0(categs,collapse = ",")`$. Sean $I_{`r categs[1]`},I_{`r categs[2]`}$ e $I_{`r categs[3]`}$ variables indicadoras de los respectivos tratamientos. Llene la tabla para establecer un sistema de codificación para la variable tratamiento, en donde la categoría de referencia es el tratamiento $`r categs[categ_ref]`$
| $`r varname `$| $I_{`r categs[-categ_ref][1]`}$|$I_{`r categs[-categ_ref][2]`}$ |
|:-------------:|:-----------------:|:-----------------:|
|$A$ | ##ANSWER1## |##ANSWER4## |
|$B$ | ##ANSWER2## | ##ANSWER5## |
|$C$ | ##ANSWER3## | ##ANSWER6## |
```{r questionlist, echo = FALSE, results = "asis"}
answerlist(questions, markup = "markdown")
```
Solution
========
| $`r varname `$| $I_{`r categs[-categ_ref][1]`}$|$I_{`r categs[-categ_ref][2]`}$|
|:-------------:|:-----------------:|:-----------------:|
|$A$ | `r sol[1]` |`r sol[4]` |
|$B$ | `r sol[2]` | `r sol[5]` |
|$C$ | `r sol[3]` | `r sol[6]` |
Meta-information
================
extype: cloze
exsolution: `r paste(sol, collapse = "|")`
exclozetype: `r paste(type, collapse = "|")`
exname: catreg
extol: 0.05
exextra[numwidth,logical]: TRUE
使用exams2html
或exams2moodle
渲染会产生以下警告:
Warning in split.default(exm[[j]]$questionlist, g) : data length is not a multiple of split variable
我就是不明白为什么会出现这种情况。我有类似版本的这个练习,它们不会产生任何警告。
您需要在答案列表代码块之后和解决方案部分开始之前包含一个空行。否则,未正确检测到答案列表的长度。