在Stata中运行R脚本-“;“拒绝许可”;

在Stata中运行R脚本-“;“拒绝许可”;,r,shell,stata,R,Shell,Stata,我正在做一个项目,我需要在Stata中运行一个R脚本。我编写了以下代码: shell "/Users/alexanderrbilly/Desktop/Neel/cleaner.R" CMD BATCH "cleaner.R" 尽管在此之前更改了命令目录(这应该无关紧要),但我还是不断收到相同的错误: /bin/bash: /Users/alexanderrbilly/Desktop/Neel/cleaner.R: Permission denied 让我知道我是否做错了什么,或者我如何回避这

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

shell "/Users/alexanderrbilly/Desktop/Neel/cleaner.R" CMD BATCH "cleaner.R"
尽管在此之前更改了命令目录(这应该无关紧要),但我还是不断收到相同的错误:

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

让我知道我是否做错了什么,或者我如何回避这个问题

您的命令行不正确

字符串
“/Users/alexanderbilly/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
没有。您还可以查看一下

您不是在调用R可执行文件,而是在调用仅为文本文件的脚本。考虑自动RScript:<代码> /路径/to/rScript /路径/到/Curror。R< /代码>酷!我使用
file.path(R.home(“bin”),“R”)
来标识R可执行路径,它现在似乎正在工作(对于那些不确定如何提取路径的人)。我使用了这个页面上的信息:所以你在macOS上。问题并没有太大的不同,但如果R不在path环境变量中,则必须找到路径:在终端中,命令“R”是否启动了某些内容?您也可以启动R应用程序并键入
Sys.getenv(“PATH”)
以查找可执行文件的位置。哦,我没有看到您更改了注释。这是另一种查找的方法。@JuliusBilly您可能还对ssc的包rsource感兴趣。有关更多信息,请在Stata中键入
ssc description rsource
。要安装,请键入
ssc install rsource