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 中指定数据文件的完整路径来解决,
我正在尝试将 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 中指定数据文件的完整路径来解决,