【问题标题】:Windows batch R Sweave error loading packagesWindows批处理R Sweave错误加载包
【发布时间】:2010-08-24 16:18:28
【问题描述】:

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

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

我创建了一个批处理文件名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'

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

相关问题here

【问题讨论】:

    标签: windows r batch-file sweave


    【解决方案1】:

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

     .libPaths()
    

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

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

    【讨论】:

    • .libPaths() 在使用 Eclipse 从 GUI 运行时返回 "C:/Program Files/R/R-2.11.0/library"。当直接从 R GUI 控制台运行时,它返回"C:/PROGRA~1/R/R-211~1.0/library"。立即查看Startup 的帮助页面...
    • 那将是相同的,尽管打印方式不同。你真的安装了 RODBC 包吗?
    • 嗯,是的,也不是。 RODBC 安装在我与 Eclipse 一起使用或直接与 R GUI 一起使用的 R 版本中。我可以毫无问题地运行脚本。但是,我注意到 DOS 提示指的是我安装的 R 的 Revolution Enterprise 迭代。我卸载了 Revolution Enterprise,因为我不使用它,现在收到错误 Error: R not found。我已经修改了 R 的默认目录,因此我可以保存 R 的单独实例('R\R-2.11` 和 R\R-2.10..)。我需要修改 Sweave.bat 文件以找到我的 R 目录...现在将查看
    • 相应地调整你的环境变量,比如PATH,你应该没问题。这是您的本地管理员问题,因此您需要解决它。
    • @Chase 在 Windows 更新后我得到了同样的 R not found 错误,尽管我大概有正确的 PATH 指向 R - aaargh!我妈妈警告我不要更新。
    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-16
      • 2010-11-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多