我想在R中创建一些随机变量并在Stata中返回它们,所有这些都写在一个do文件中。我使用rsource
选项terminator()
。这是我的do文件的简短版本(只是提到,R命令取自正在工作的R文件,并通过在R中直接调用它确实生成X.dta)...
clear
set more off
cd "C:\Users\....\Desktop\R_stata"
rsource, terminator(END_OF_R) rpath(C:\Program Files\R\R-3.1.1\bin\R.exe)
library(mvtnorm);
library(foreign);
xmean<-rep(0,100);
x1Sigma<- diag(100);
x2Sigma<- 2 * diag(100);
X1<-rmvnorm(n=1, mean=xmean, sigma=x1Sigma);
X1<- t(X1);
X2<-rmvnorm(n=1, mean=xmean, sigma=x2Sigma);
X2<- t(X2);
write.dta(data.frame(X1, X2), "C:/Users/...../Desktop/R_stata/X.dta");
END_OF_R
use X.dta, replace
答案 0 :(得分:4)
我认为您需要将roptions("--vanilla")
添加到rsource
。没有这个选项,我得到了
file X.dta not found
r(601);
有了它,它对我来说非常适合。