当我尝试使用考试包中的
exams2pdf
(例如 exams2pdf("boxplots.Rmd")
)时,出现以下错误:
sh: line 1: : command not found
我可以使用
system()
在 R 中执行常用的终端命令,例如:
system("ls # list files and folders in WD")
我错过了什么?为什么
exams2pdf()
不能正确使用 shell(我猜是 bash)?我正在使用Linux。
提前谢谢您。
问题根源:
exams2pdf()
函数尝试在PDF查看器中打开它生成的PDF文件。我怀疑 R 为您的 PDF 查看器找到了错误或不存在的路径。
解决方法: 作为一种快速解决方法,您可以告诉
exams2pdf()
将 PDF 文件写入您可以自己打开的目录。例如,要在当前工作目录中创建文件,请使用
exams2pdf("boxplots.Rmd", dir = ".")
然后你可以自己打开
plain1.pdf
。
调试: 使用上面的代码创建
plain1.pdf
文件后,您可以尝试从 R 打开它,就像 R/exams 一样。在 Linux 上,需要执行以下步骤:
out <- "plain1.pdf" ## PDF file in current directory
vwr <- getOption("pdfviewer") ## path to your systems's PDF viewer
cmd <- paste(shQuote(vwr), shQuote(out)) ## PDF viewer command to be executed
system(cmd, wait = FALSE) ## run PDF viewer command
在我的系统上,查看器路径
vwr
和生成的引用命令 cmd
如下所示:
writeLines(c(vwr, cmd))
## /usr/bin/xpdf
## '/usr/bin/xpdf' 'plain1.pdf'
我怀疑您的 PDF 查看器配置错误......