【问题标题】:Running R Script within Stata - "permission denied"在 Stata 中运行 R 脚本 - “权限被拒绝”
【发布时间】:2018-01-12 09:31:31
【问题描述】:

我正在做一个需要在 Stata 中运行 R 脚本的项目。我写了以下代码:

shell "/Users/alexanderrbilly/Desktop/Neel/cleaner.R" CMD BATCH "cleaner.R"

尽管在此之前更改了命令目录(这无关紧要),但我仍然收到相同的错误:

/bin/bash: /Users/alexanderrbilly/Desktop/Neel/cleaner.R: Permission denied

如果我做错了什么,或者我可以如何解决这个问题,请告诉我。

【问题讨论】:

  • 您不会调用 R 可执行文件,而只是调用只是一个文本文件的脚本。考虑自动 Rscript:/path/to/Rscript /path/to/cleaner.R

标签: r shell stata


【解决方案1】:

你的命令行不正确。

您的字符串 "/Users/alexanderrbilly/Desktop/Neel/cleaner.R" 应该是您的 R 可执行文件的路径。

如果您使用的是 Windows。假设文件K:\tmp\random.R 包含代码write.csv(rnorm(10), "a.csv")。 然后,你可以在Stata中写:

cd K:\tmp
shell C:\APPLI\R\R-3.4.1\bin\x64\R.exe CMD BATCH random.R

当然,更改 R 可执行文件的路径以适合您的安装。

如果您在 Linux 上,错误可能来自cleaner.R 没有execute permission。你也可以看看What's the best way to use R scripts on the command line (terminal)?

【讨论】:

  • 酷!我使用file.path(R.home("bin"), "R") 来识别 R 可执行路径,它现在似乎正在工作(对于那些不确定如何提取路径的人)。我使用了此页面中的信息:Reference
  • 所以你在 macOS 上。问题并没有太大的不同,但你必须找到路径,如果 R 不在 PATH 环境变量中:在终端中,命令“R”会启动什么吗?您也可以启动 R 应用程序并键入 Sys.getenv("PATH") 以找出可执行文件的位置。
  • 哦,我没看到你改变了你的评论。这是另一种查找方式。
  • @JuliusBilly 您可能还对来自 ssc 的包 rsource 感兴趣。有关更多信息,请在 Stata 中键入 ssc describe rsource。要安装,请输入ssc install rsource。
猜你喜欢
  • 2014-02-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-29
  • 2018-12-25
  • 1970-01-01
  • 2014-06-18
  • 2015-11-15
相关资源
最近更新 更多