Windows批处理R Sweave错误加载包

我无法find如何在Windows XP上为Sweave文档设置batch file的明确文档。

我正在使用这里find的batch file

我创build了一个包含以下内容的batch file名称run.bat

 Sweave myFile.Rnw 

设置wd后,我在Sweave文件中做的第一件事是使用RODBC包在数据集中读取:

 library(RODBC) fetch <- odbcConnect("myDatabase") myData <- "select * from myTable" x <- sqlQuery(fetch, myData) odbcCloseAll() 

当我运行我的batch file时,我收到以下错误:

 Error: chunk 2 Error in library(RODBC) : there is no package called RODBC In addition: Warning message: In library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE, : there is no package called 'xtable' 

很明显,这些软件包确实存在并且function正常,但是权限并不正确,或者找不到正确的目录。 有什么想法吗?

相关问题在这里

Solutions Collecting From Web of "Windows批处理R Sweave错误加载包"

当你在R(在GUI中)键入它时,它会返回什么?

  .libPaths() 

它在Rnw文件中运行时显示的是什么?

help(Startup)的文档将有几个建议,可以在哪里设置R_LIBS及其变体。

我发现了一个立即解决我的问题,但明白这个方法有一定的局限性。 我放弃了使用CRAN提供的.bat文件来动态地找到R的适当路径,并硬编码到R的路径,例如:

 "C:\Program Files\R\R-2.11.0\bin\Rterm.exe" --vanilla <%run.r>%run.r del *.log del *.aux 

这个.bat文件会启动R,运行包含两个命令的脚本run.r

 Sweave("myFile.Rnw") tools::texi2dvi("myFile.tex", pdf=TRUE) 

然后清理LaTeX输出中的中间.log.aux文件。 显然,大部分的工作是在myFile.Rnw完成的,但是这样至少让我点击一个按钮,执行我的分析,并生成PDF文件。

如果有人能想出一种更高效的方法,我会很感激的。