【问题标题】:How to change output file name/directory of Sweave/Knitr?如何更改 Sweave/Knitr 的输出文件名/目录?
【发布时间】:2019-12-11 08:36:20
【问题描述】:

我的任务是在 AWS Lambda(无服务器计算)上运行 R 和 Knitr,但由于 Lambda 的文件夹结构不同,我遇到了一些问题。

这是我目前所拥有的(Lambda 自动调用 my_function):

library(knitr)
?knit

my_function <- function() {
    knit("./test.Rnw")
}

我得到的错误是:

{
  "errorMessage": "Error in file(file, ifelse(append, \"a\", \"w\")): cannot open the connection\n",
  "errorType": "simpleError"
}

我几乎可以肯定它与尝试输出文件的方式/位置有关,我认为 .Rnw 文件没有任何问题,因为它达到了 100%:

processing file: ./test.Rnw

  |                                                                       
  |                                                                 |   0%
  |                                                                       
  |.................................................................| 100%
   inline R code fragments

我的问题是,如何更改 Knitr 的输出,理想情况下还可以检查它尝试创建文件的位置?或者可能只是有关错误的更多信息。

值得注意的是,我是一名 Python 开发人员,并且对 R/Knitr/Sweave/Latex/R-Markdown 的了解为 0,我正在努力让概念证明发挥作用。

【问题讨论】:

  • 我不确定这个具体情况,但似乎这个库试图以'w' 模式打开文件,而在 Lambda 容器中,唯一可写的文件系统分区是/tmp .请先尝试将您的文件复制到那里然后打开。
  • @NikolayGrischenko 就是这样!请作为答案发布,以便我标记它

标签: r aws-lambda r-markdown knitr sweave


【解决方案1】:

库尝试以'w' 模式打开文件,而在 Lambda 容器中,唯一可写的文件系统分区是/tmp。请先尝试将您的文件复制到那里然后再打开。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-02
    • 1970-01-01
    • 1970-01-01
    • 2012-06-18
    • 1970-01-01
    相关资源
    最近更新 更多