2

我很难找到关于如何在 Windows XP 上为 Sweave 文档设置批处理文件的清晰文档。

我正在使用在此处找到的批处理文件

我创建了一个批处理文件名run.bat,其中包含以下内容:

Sweave myFile.Rnw

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

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

当我运行批处理文件时,我收到以下错误:

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'

显然,这些包确实存在并且可以正常工作,但是权限中的某些内容不正确,或者找不到正确的目录。有什么想法吗?

相关问题在这里

4

2 回答 2

1

我找到了一个直接解决我的问题的方法,尽管我知道这种方法有一定的局限性。我放弃使用 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 文件。

如果有人能想出一种方法来提高效率,我将不胜感激。

于 2010-08-24T18:40:35.183 回答
1

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

 .libPaths()

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

中的文档help(Startup)将就您可以在何处设置 R_LIBS 及其变体提供一些建议。

于 2010-08-24T16:25:56.287 回答