使用R生成适合某些条件的随机数据集

我想生成一个适合某些条件的数据集,以模拟回归模型中某些统计事实的行为。

首先,我想要一个由单个因变量Y和三个自变量x1,x2,x3混合而成的数据集。我需要数据集大于40行(n> 40),并且需要x1,x2线性相关。

我一直在阅读R文档,以生成诸如rnormsample函数之类的随机数据,但是我并没有获得任何有用的结果。

我该如何解决?

longsheng923123 回答:使用R生成适合某些条件的随机数据集

您可以使用runif来创建自己的

X1 <- runif(100,1,50) # 100 random numbers between 1 and 50.

X2 <- X1 * 5 - 10  # creating linearly dependent series

X3 <- runif(100,50)


Y <- runif(1,-50,50) + runif(1,-5,5) * X1 +  runif(1,5) * X2 + runif(1,5) * X3 + runif(100,-10,10)


# To create dependency between Y and X variables,you should assign the coefficients. 
# Above,runif(1,5) is standing for assigning random coefficients between -5 and 5.
# Finally runif(100,10) is for creating the error terms.

要检查依赖性,可以运行线性回归,

summary(lm(Y~X1 + X2 + X3))

给予

Call:
lm(formula = Y ~ X1 + X2 + X3)

Residuals:
    Min      1Q  Median      3Q     Max 
-9.7632 -4.2869 -0.4156  4.3876 10.3811 

Coefficients: (1 not defined because of singularities)
             Estimate Std. Error t value Pr(>|t|)    
(Intercept) -65.74362    1.69357  -38.82   <2e-16 ***
X1           22.70622    0.04238  535.80   <2e-16 ***
X2                 NA         NA      NA       NA    
X3           -1.43227    0.04004  -35.77   <2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

由于X1和X2是线性相关的,因此R会删除其中一个变量X2。

本文链接:https://www.f2er.com/3159256.html

大家都在问