将SAS代码转换为R:模拟和数据帧

时间:2015-09-29 20:55:14

标签: r statistics

我正在使用此SAS代码。

data a;
do i=1 to 10000000;
x = 12 + 2.5*rannor(0);
y = 15000 + 2500*x + 5000*rannor(0);
output;
end;

我在努力编写一个合适的R代码时遇到了困难,这些代码可以复制(或者更像是)与我上面所做的相似。

我能做的就是:

set.seed(0)
x = 12 +2.5*rnorm(1)
y = 1500+ 250*x+ 500*rnorm(1)

...但我认为SAS程序实际上会生成10000000 x和y,其值基于上面的公式,所以我假设涉及一个数据帧。

之前有人使用过R或/和SAS吗?关于如何做类似SAS代码的任何想法?

2 个答案:

答案 0 :(得分:2)

set.seed(0)
n = 10000000

library(dplyr)

data_frame(x = 12 + 2.5*rnorm(n), 
           y = 1500+ 250*x+ 500*rnorm(n) )

答案 1 :(得分:2)

我不认为这里需要外部包装。

set.seed(0)
n <- 10000000
x <- 12+rnorm(n = n,mean = 0,sd = 1)*2.5
y <- 1500 + 250*x + 500*rnorm(n = n, mean = 0, sd = 1)
data <- cbind(x,y)

您只需致电rnorm()即可添加您正在寻找的n。我相信上面的代码会这样做。