在 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
我对 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