在 driver$read(file_tex[idj]) 中:exsolution 和 solutionlist 的长度不匹配

In driver$read(file_tex[idj]) : length of exsolution and solutionlist does not match

我在使用 r-exams-package 创建考试时遇到了问题。它显示此错误消息:

In driver$read(file_tex[idj]) :   length of exsolution and solutionlist does not match

当我使用 exams2html 函数生成考试时,它会向我显示以下问题:

issue type 1

或者这个:

issue type 2


对于上面显示的问题,这是“问题类型 1”的语法:

mc1_df <- data.frame(
  questions = 
              c(
                "Der Median und der Modus sind Maße der zentralen Tendenz, die auch für nominalskalierte Variablen verwendet werden können.",
                
                "Der Median ist gleich der zweiten Quartilsgrenze.",
                
                "Das arithmetische Mittel ist weniger anfällig für Ausreißer in den Daten als der Median.",
                
                "Für nominalskalierte Variablen lässt sich der Median nicht eindeutig berechnen.",
                
                "Für nominalskalierte Variablen lässt sich der Modalwert nicht eindeutig berechnen."
              )

  ,
  solutions = c(F,T,F,T,F))

使用上述语法创建的 data.frame 看起来没问题。

我用以下语法显示它:

Question
========
Welche der folgenden Aussagen sind korrekt?

{r mc1 qlist, echo = FALSE, results = "asis"}
answerlist(mc1_df$questions, markup = "markdown")

Solution
========
{r mc1 slist, echo = FALSE, results = "asis"}
answerlist(mc1_df$solutions, markup = "markdown")

当我在 .RMD 中执行这些块时,答案和解决方案列表正确显示,因此没有任何 NA。

我使用以下元信息:

Meta-information
================
exname: mc1
extype: mchoice
exsolution: `r mchoice2string(mc1_df$solutions)`
exshuffle: TRUE

有什么办法可以避免这个问题吗?

p.s。 我想在 moodlecloud 中创建一个考试。 html-版本仅用于检查语法和进一步问题的需要。

此致,

JSP

原则上,您的示例看起来不错,但很难确定,因为某些代码标记未在 Whosebug 上准确保留。

我的猜测是某处缺少 space 或换行符。这可能会导致无法正确识别问题或答案列表中的第一项或最后一项。 R/exams 已在最新版本(包括 R-Forge 上的当前开发版本)上进行了改进以避免此类问题,但显然对于您的原始文件来说还不够。

我已经根据您的问题设置了文件 mc1.Rmd(请参阅下面的完整 R/Markdown 代码)。并同时使用这两个

exams2html("mc1.Rmd")
exams2moodle("mc1.Rmd")

工作正常,其中文件 mc1.Rmd 包含以下文本。请注意,包含空行 before/after 代码块可能有助于避免 problems/bugs 解析 question/solution 列表。

```{r, include=FALSE}
mc1_df <- data.frame(
  questions = c(
    "Der Median und der Modus sind Maße der zentralen Tendenz, die auch für nominalskalierte Variablen verwendet werden können.",
    "Der Median ist gleich der zweiten Quartilsgrenze.",
    "Das arithmetische Mittel ist weniger anfällig für Ausreißer in den Daten als der Median.",
    "Für nominalskalierte Variablen lässt sich der Median nicht eindeutig berechnen.",
    "Für nominalskalierte Variablen lässt sich der Modalwert nicht eindeutig berechnen."
  ),
  solutions = c(FALSE, TRUE, FALSE, TRUE, FALSE)
)
```

Question
========
Welche der folgenden Aussagen sind korrekt?

```{r mc1 qlist, echo = FALSE, results = "asis"}
answerlist(mc1_df$questions, markup = "markdown")
```

Solution
========

```{r mc1 slist, echo = FALSE, results = "asis"}
answerlist(mc1_df$solutions, markup = "markdown")
```

Meta-information
================
exname: mc1
extype: mchoice
exsolution: `r mchoice2string(mc1_df$solutions)`
exshuffle: TRUE