2

我是新手,exams所以也许这个问题很新手。

我不能将source外部R文件(包含可重复使用的功能)放入我的.Rnw.

MWE:

函数.r

x <- 10

问题.Rnw

<<echo=FALSE>>=
source('functions.r')
@
\begin{question}
  $x=\Sexpr{x}$
\end{question}

生成.r

library('exams')

exams2moodle('question.Rnw')

当我尝试Rscript generate.r

Loading required namespace: rmarkdown

Error:  chunk 1 
Error in file(filename, "r", encoding = encoding) : 
  cannot open the connection
In addition: Warning message:
In file(filename, "r", encoding = encoding) :
  cannot open file 'functions.r': No such file or directory
Execution halted

如何在某些问题中重用自己的 R 函数?

4

1 回答 1

1

所有练习都被复制到处理它们的临时目录中。因此,当您source()拨打电话时,您位于不同的目录中。因此,您需要将其包含在完整路径中source("/path/to/functions.r")- 或者您可以将文件复制到临时目录。include_supplement()后者有一个方便的功能。如果与您只需要做functions.r的位于同一目录中:question.Rnw

include_supplement("functions.r")
source("functions.r")

在开头的代码块中question.Rnw

于 2020-05-08T18:37:14.950 回答