如何使用 R/exams 在完形填空题中添加子问题语句
How to add subquestion statements in a cloze question using R/exams
我需要一个 cloze
问题,其中包含一般性陈述和一些结果(随机数据和统计分析表),其中包括几个 schoice
问题,每个问题都有自己的陈述。但我不知道应该如何包含子问题语句。一个简单的例子 cloze0.Rmd 如下所示。我需要使用命令 exams2moodle("cloze0.Rmd", n = 30, name = "Simple_Cloze0", rule = 'none', schoice = list(shuffle = T), verbose = T)
将此 cloze
问题的 30 个不同版本导出到 moodle
,但此命令包含第一个子问题语句作为响应选项,并在所有子问题中错放正确答案。非常感谢任何想法!
cloze0.Rmd ==> (moodle-result) ==> (needed-moodle-result)
```{r data generation, echo = FALSE, results = "hide"}
# sample
dt <- rnorm(30, 100, 5)
# Statistics
ndt <- length(dt)
mdt <- mean(dt)
sdt <- sd(dt)
vdt <- var(dt)
cvdt <- sdt/abs(mdt)
```
Question
========
A sample of **`r ndt`** individuals is draw and a variable $X$ is measured.
```{r, echo = F, comment = NA}
dt
```
Answerlist
----------
Choose the mean of $X$.
* `r mdt`.
* `r sdt`.
* `r vdt`.
* `r cvdt`.
Choose the standard deviation of $X$.
* `r mdt`.
* `r sdt`.
* `r vdt`.
* `r cvdt`.
Choose the variance of $X$.
* `r mdt`.
* `r sdt`.
* `r vdt`.
* `r cvdt`.
Choose the coefficient of variation of $X$.
* `r mdt`.
* `r sdt`.
* `r vdt`.
* `r cvdt`.
Meta-information
================
exname: simple_cloze
extype: cloze
exsolution: 1000|0100|0010|0001
exclozetype: schoice|schoice|schoice|schoice
extol: 0|0|0|0
exshuffle: TRUE
如果您想要对完形填空练习的格式进行这种控制,那么最好使用 ##ANSWERi##
语法或将答案交互字段放在您需要的地方。有关有效示例,请参阅 boxhist2 练习。
对于你的情况,我会在 Answerlist
之前提出以下问题:
a. Choose the mean of $X$: \#\#ANSWER1\#\#
b. Choose the standard deviation of $X$: \#\#ANSWER2\#\#
c. Choose the variance of $X$: \#\#ANSWER3\#\#
d. Choose the coefficient of variation of $X$: \#\#ANSWER4\#\#
然后 Answerlist
看起来像这样:
Answerlist
----------
* `r mdt`.
* `r sdt`.
* `r vdt`.
* `r cvdt`.
* `r mdt`.
* `r sdt`.
...
请注意,您也可以执行以下操作来创建整个 Answerlist
:
,而不是手动列出所有四个统计信息四次
```{r, echo=FALSE, results="asis"}
answerlist(rep(c(mdt, sdt, vdt, cvdt), 4), markup = "markdown")
```
我还会对答案进行四舍五入,例如三位数。 (好吧,就个人而言,我会创建一个包含四个“num”项而不是“schoice”项的完形填空题。)
默认
exams2moodle("cloze0.Rmw")
将为四个选项列表中的每一个创建下拉菜单(在 Moodle 中显示 "MULTICHOICE"
)。如果你真的想要垂直布局的单选按钮(显示 "MULTICHOICE_V"
),你可以切换到:
exams2moodle("cloze0.Rmd",
cloze = list(cloze_mchoice_display = "MULTICHOICE_V"))
请注意,exams2moodle()
的最新版本(至少 2.4-0,R-Forge 上的当前开发版本)参数称为 cloze_schoice_display
而不是 cloze_mchoice_display
。
我需要一个 cloze
问题,其中包含一般性陈述和一些结果(随机数据和统计分析表),其中包括几个 schoice
问题,每个问题都有自己的陈述。但我不知道应该如何包含子问题语句。一个简单的例子 cloze0.Rmd 如下所示。我需要使用命令 exams2moodle("cloze0.Rmd", n = 30, name = "Simple_Cloze0", rule = 'none', schoice = list(shuffle = T), verbose = T)
将此 cloze
问题的 30 个不同版本导出到 moodle
,但此命令包含第一个子问题语句作为响应选项,并在所有子问题中错放正确答案。非常感谢任何想法!
cloze0.Rmd ==> (moodle-result) ==> (needed-moodle-result)
```{r data generation, echo = FALSE, results = "hide"}
# sample
dt <- rnorm(30, 100, 5)
# Statistics
ndt <- length(dt)
mdt <- mean(dt)
sdt <- sd(dt)
vdt <- var(dt)
cvdt <- sdt/abs(mdt)
```
Question
========
A sample of **`r ndt`** individuals is draw and a variable $X$ is measured.
```{r, echo = F, comment = NA}
dt
```
Answerlist
----------
Choose the mean of $X$.
* `r mdt`.
* `r sdt`.
* `r vdt`.
* `r cvdt`.
Choose the standard deviation of $X$.
* `r mdt`.
* `r sdt`.
* `r vdt`.
* `r cvdt`.
Choose the variance of $X$.
* `r mdt`.
* `r sdt`.
* `r vdt`.
* `r cvdt`.
Choose the coefficient of variation of $X$.
* `r mdt`.
* `r sdt`.
* `r vdt`.
* `r cvdt`.
Meta-information
================
exname: simple_cloze
extype: cloze
exsolution: 1000|0100|0010|0001
exclozetype: schoice|schoice|schoice|schoice
extol: 0|0|0|0
exshuffle: TRUE
如果您想要对完形填空练习的格式进行这种控制,那么最好使用 ##ANSWERi##
语法或将答案交互字段放在您需要的地方。有关有效示例,请参阅 boxhist2 练习。
对于你的情况,我会在 Answerlist
之前提出以下问题:
a. Choose the mean of $X$: \#\#ANSWER1\#\#
b. Choose the standard deviation of $X$: \#\#ANSWER2\#\#
c. Choose the variance of $X$: \#\#ANSWER3\#\#
d. Choose the coefficient of variation of $X$: \#\#ANSWER4\#\#
然后 Answerlist
看起来像这样:
Answerlist
----------
* `r mdt`.
* `r sdt`.
* `r vdt`.
* `r cvdt`.
* `r mdt`.
* `r sdt`.
...
请注意,您也可以执行以下操作来创建整个 Answerlist
:
```{r, echo=FALSE, results="asis"}
answerlist(rep(c(mdt, sdt, vdt, cvdt), 4), markup = "markdown")
```
我还会对答案进行四舍五入,例如三位数。 (好吧,就个人而言,我会创建一个包含四个“num”项而不是“schoice”项的完形填空题。)
默认
exams2moodle("cloze0.Rmw")
将为四个选项列表中的每一个创建下拉菜单(在 Moodle 中显示 "MULTICHOICE"
)。如果你真的想要垂直布局的单选按钮(显示 "MULTICHOICE_V"
),你可以切换到:
exams2moodle("cloze0.Rmd",
cloze = list(cloze_mchoice_display = "MULTICHOICE_V"))
请注意,exams2moodle()
的最新版本(至少 2.4-0,R-Forge 上的当前开发版本)参数称为 cloze_schoice_display
而不是 cloze_mchoice_display
。