循环rsource里面不工作

时间:2016-05-20 14:05:54

标签: r loops stata

我正在使用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;

感谢您的建议

1 个答案:

答案 0 :(得分:2)

这是我将使用的方法,即在R中增加i:

List.Sort

正如我在评论中所说,这应该比开启和关闭R 10倍更有效率。