R/exams exams2moodle 不读取数据或源代码

R/exams exams2moodle does not read data or source code

我正在尝试将 R/exams 用于读取本地数据集的练习。当我以交互方式 运行 时,练习中的代码工作正常,但当我在 exams2moodle() 中 运行 时,它失败了。当我尝试 source() 练习中的 R 脚本时,也会出现同样的问题。

下面包含一个简化的人工示例。

library("exams")
exams2moodle("mysum.Rmd")

练习文件mysum.Rmd是:

```{r, include=FALSE}
i <- sample(1:3, 1)
d <- read.csv("mydata.csv")
s <- d$x[i] + d$y[i]
```

Question
========
What is the sum of $`r i`$ + $`r i+1`$?

Meta-information
================
exname: mysum
extype: num
exsolution: `r s`

而数据文件mydata.csv是:

x,y
1,5
8,3
4,4

代码在本地运行良好,因为数据文件 mydata.csv 位于本地工作目录中。但是,在 exams2moodle()(和所有其他 exams2xyz() 界面)内部使用了一个不同的临时目录,以免用户的工作区被文件弄乱。

因此,当您想使用其他文件时,您需要指明它们的绝对路径,或者您需要确保将它们复制到同一个临时目录。对于后者,有方便的功能 include_supplement() 可以复制文件,默认情况下从练习所在的同一目录中获取文件。在您的情况下,您可以添加

include_supplement("mydata.csv")

mysum.Rmd 练习的第一个 R 代码块的开头(在应用 read.csv() 之前)。

我遇到了同样的问题。您也可以通过在 Rmd 中指定数据文件的完整路径来解决,