在 R 中模拟数据集

Simulating a dataset in R

我对 R 还是很陌生,有点卡住了。我正在尝试用某些参数模拟 R 中的数据集。例如,如果我希望我的观察次数为 100,并且 x 是一个随机正态变量,其中均值为 0,标准差为 1,则满足以下等式 y=0.7+3*x+\mu。此外,\mu 是一个随机正态误差,均值为 1,标准差为 2。

现在,我掌握了初始值代码的基础知识,但不知道如何添加到方程或 100 个单独的随机正态误差中。

 set.seed(1)
 x <- rnorm(n=100, mean=0, sd=1)

有什么建议吗?

谢谢!

通常在 R 中,代码在 vectorized 中。例如,

x <- c(1,2,3)
y <- 1 + x # 2 3 4

R 中的分布具有 pdf、cdf、逆 cdf 和生成随机数的函数。例如,

pnorm() # p: probability (pdf)
dnorm() # d: distribution function (cdf)
qnorm() # q: quantile (inverse cdf)
rnorm() # r: random normal (generating random numbers)

设置种子在模拟中很重要,因此可以重现结果。在 R 中使用 set.seed()

所以回答你的问题:

set.seed(1000) 
n <- 100
x <- rnorm(n, 0, 1) # n: number observations, 0: mean, 1: sd
mu <- rnorm(n, 1, 2)
y <- 0.7 + 3*x + mu # we can do this R allows code to be vectorized