我尝试使用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个变量,并且超过这个误差?
答案 0 :(得分:1)
您没有收到错误消息。在R中,错误称为“错误”,而可能或可能不是严重问题的情况称为“警告”。您将收到警告,它只需要从您的6个变量中获取数据来构建一个“完美”模型,该模型可以100%准确地预测您的结果。如何实现这一点是目前的推测问题。要清除该问题,您应该发布str(s1)
和summary(s1)
的输出,并且可能会在文本编辑器中查看数据集的前20行。
答案 1 :(得分:0)
所有7个残差均为0:没有剩余自由度!
这意味着您在数据框s1
中只有7个观察值,但您提供了10个预测变量。你需要至少拥有比预测者更多的观察结果,否则所有的方差都将得到完美的解释,而你的模型&#34;不会成为统计数据(因此所有p-vals的NA都是。)