我正在使用rsource以这种方式生成某些变量:
set more off
local n 4
local i 100
rsource, terminator(END_OF_R) rpath(C:\Program Files\R\R-3.2.5\bin\R.exe) roptions(`" --vanilla --args "`i'" "`n'" "')
library(foreign)
trailargs <- commandArgs(trailingOnly=TRUE);
trailargs;
i<- as.numeric(trailargs[1])
n<- as.numeric(trailargs[2])
y = n-i
sample = data.frame(y)
path = paste("C:/Users/.../Desktop/sample","_",n,"_test.dta",sep="")
write.dta(sample, path)
END_OF_R
这是有效的,我确实得到了我的sample_100_test.dta 但是,我想以这种方式生成一系列这些数据集
set more off
local n 4
forvalues i = 1/10 {
rsource, terminator(END_OF_R) rpath(C:\Program Files\R\R-3.2.5\bin\R.exe) roptions(`" --vanilla --args "`i'" "`n'" "')
library(foreign)
trailargs <- commandArgs(trailingOnly=TRUE);
trailargs;
i<- as.numeric(trailargs[1])
n<- as.numeric(trailargs[2])
y = n-i
sample = data.frame(y)
path = paste("C:/Users/.../Desktop/sample","_",n,"_test.dta",sep="")
write.dta(sample, path)
END_OF_R
..... within loop
use sample","_",n,"_test.dta, clear
...estimation
erase sample","_",n,"_test.dta
}
这不起作用。这个循环有什么问题,为什么我会收到错误 &#34; R输出结束:命令库无法识别&#34;
感谢您的建议
答案 0 :(得分:2)
这是我将使用的方法,即在R中增加i:
List.Sort
正如我在评论中所说,这应该比开启和关闭R 10倍更有效率。