关于multiregressions代码

时间:2018-03-16 17:44:34

标签: r linear-regression lm

我尝试使用10个预测变量进行多重回归线性模型,但是当我复制所有变量时,模型不起作用。

regresion<-lm(DO~NO3+NO2+SO4+NH4+Mg+Ca+PO4+pH+CI+CE, data=s1)

输出是:

Call:
lm(formula = DO ~ NO3 + NO2 + SO4 + NH4 + Mg + Ca + PO4 + pH + 
CI + CE, data = s1)

残差:

ALL 7 residuals are 0: no residual degrees of freedom!

系数:(4由于奇点而没有定义)

               Estimate Std. Error t value Pr(>|t|)
(Intercept)    0.20979         NA      NA       NA
NO3            0.27132         NA      NA       NA
NO2         -128.83424         NA      NA       NA
SO4            0.04334         NA      NA       NA
NH4            0.12088         NA      NA       NA
Mg             3.59376         NA      NA       NA
Ca             5.37956         NA      NA       NA
PO4                 NA         NA      NA       NA
pH                  NA         NA      NA       NA
CI                  NA         NA      NA       NA
CE                  NA         NA      NA       NA

剩余标准错误:

NaN on 0 degrees of freedom

多个R平方:

1,     Adjusted R-squared:    NaN 

F-statistic:

 NaN on 6 and 0 DF,  p-value: NA

模型容差直到5个变量,并且超过这个误差?

2 个答案:

答案 0 :(得分:1)

您没有收到错误消息。在R中,错误称为“错误”,而可能或可能不是严重问题的情况称为“警告”。您将收到警告,它只需要从您的6个变量中获取数据来构建一个“完美”模型,该模型可以100%准确地预测您的结果。如何实现这一点是目前的推测问题。要清除该问题,您应该发布str(s1)summary(s1)的输出,并且可能会在文本编辑器中查看数据集的前20行。

答案 1 :(得分:0)

  

所有7个残差均为0:没有剩余自由度!

这意味着您在数据框s1中只有7个观察值,但您提供了10个预测变量。你需要至少拥有比预测者更多的观察结果,否则所有的方差都将得到完美的解释,而你的模型&#34;不会成为统计数据(因此所有p-vals的NA都是。)