在本地工作时,我使用以下内容呈现rmarkdown文档:
rmarkdown::render(input = rmd.temp , output_dir = out.dir, output_file = out.name)
这会获取我的模板文档rmd.temp
,然后将文档呈现为out.dir
并将文件命名为out.name
。
我正在尝试在RStudio服务器上复制。当out.dir
是本地目录时,代码可以正常工作。但是,当out.dir
是外部驱动器的映射目录时,我收到以下错误:
Error in replayPlot(x) :
could not open file'/...path..../figure-html/unnamed-chunk-2-1.png'
映射驱动器的链接有效,因为我可以使用:
dir.create(out.dir)
并看到新文件夹出现。有关渲染被卡住的任何想法吗?
更新
这可能只是一个权限问题,因为我无法编写csv文件:
df <- data.frame(a=1:10)
setwd(out.dir)
write.csv(df, file = "df.csv")
Error in file(file, ifelse(append, "a", "w")) :
cannot open the connection
RStudio服务器正在Ubuntu上运行。我将打开一个关于如何赋予RStudio文件夹权限的新问题。
答案 0 :(得分:0)
对于遇到此问题的任何人,可以通过将其添加到脚本的开头来修复它:
Sys.umask(mode="0000")
这是一个许可问题。在shell /命令行中,全局权限为&#34; 0000&#34;但是从RStudio控制台来看,它是&#34; 0002&#34;,它为新文件产生-rw-r--权限。可能会为RStudio更改全局权限,但这可行。