源代码将R转换为块

源代码将R转换为块,r,knitr,sweave,r-exams,R,Knitr,Sweave,R Exams,我是考试的新手,所以这个问题可能很新 我无法将source外部R-文件(包含可重复使用的函数)插入我的.Rnw MWE: 功能。r: x <- 10 当我尝试Rscript generate.r时: Loading required namespace: rmarkdown Error: chunk 1 Error in file(filename, "r", encoding = encoding) : cannot open the connection In addit

我是
考试的新手,所以这个问题可能很新

我无法将
source
外部
R
-文件(包含可重复使用的函数)插入我的
.Rnw

MWE:

功能。r

x <- 10
当我尝试
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函数?

所有练习都会复制到一个临时目录中,并在其中进行处理。因此,在进行
source()
调用时,您处于不同的目录中。因此,您需要将其包含在完整路径
源(“/path/to/functions.r”)
中,或者您可以将该文件复制到临时目录中。有一个方便的函数
include\u supplement()
来完成后者。如果
functions.r
question.Rnw
位于同一目录中,您只需执行以下操作:

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

问题.Rnw
开头的代码块中,啊,谢谢!现在我明白了tdir的含义
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
include_supplement("functions.r")
source("functions.r")