table 练习 R 考试中的警告

Warning in table exercise R-exams

我使用模板 fourfold.Rmd 创建了一个完形填空式练习,使用 table 由学生填写。这是我的练习:

```{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

使用 exams2htmlexams2moodle 呈现会产生以下警告:

Warning in split.default(exm[[j]]$questionlist, g) : data length is not a multiple of split variable

我只是不明白为什么会出现这个。我有这个练习的类似版本,它们没有产生任何警告。

您需要在答案列表代码块之后和解决方案部分开始之前包含一个空行。否则无法正确检测答案列表的长度。