线性回归中的NA系数R

时间:2017-08-18 13:25:14

标签: r linear-regression

我必须用R运行模拟。

基本上我必须在矩阵nXp中创建一组变量( X ),其中第一个变量的值为1,其他23个变量具有从N中随机提取的随机值(0, 1)。 长度为24的向量 beta ,其前2个值为1,其余为0。 长度为24的向量 epsilon ,它是从N(0,1)中提取的。 之后我创建了一个变量 y ,它是: y = X%*%beta + epsilon 。 然后我选择 X 的变量,其中包含max(cor(abs( Xj,y )))其中j从(3,24)开始,我必须运行模型 y~X1 + X2 + Xj 并查看结果。

> set.seed(123)
> 
> n=25 p=24 b=seq(1,1000)
> 
> X <- cbind(matrix(1,nrow=25,ncol=1),matrix(rnorm(25*23),nrow=25,
> ncol=23)) beta <- t(t(c(1,1,rep(0,22)))) eps <- t(t(rnorm(25)))
> 
> y <- X %*% beta + eps
> 
> j<-seq(3,24) m <- which.max(abs(cor(X[,j],y)))
> 
> newX <- as.data.frame(cbind(y,X[,1], X[,2], X[,m+2])) anyNA(newX[,2])
> mod <- lm(V1 ~ . , data=newX)
> summary(mod)

Call: lm(formula = V1 ~ ., data = newX)

Residuals:
     Min       1Q   Median       3Q      Max 
-1.42575 -0.90957  0.06547  0.38879  2.39707  
Coefficients: (1 not defined because of singularities)
            Estimate Std. Error t value Pr(>|t|)    
(Intercept)   1.1235     0.2421   4.641 0.000126 ***
V2                NA         NA      NA       NA    
V3            0.6803     0.2775   2.452 0.022612 *  
V4           -0.5943     0.3036  -1.957 0.063101 .  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 1.085 on 22 degrees of freedom Multiple R-squared:  0.3958,    
Adjusted R-squared:  0.3408  F-statistic: 7.205 on 2 and 22 DF,  p-value: 0.003919

一切正常,但正如你可以看到 V2 的估计系数,那就是变量 X1 的系数,它由1组成,是NA。 我不明白为什么我有NA作为结果,变量中的值被列为数字,并且没有缺失值。

如果有人能帮助我理解,谢谢!

0 个答案:

没有答案