我根据这个excel文件做了一些简单的回归,它们都工作正常。但是我尝试进行多元回归,但是它以某种方式不再起作用。 我的代码的这一部分:
dsZonderNa <- na.omit(dsAfrika)
我看到它的值为n.s。在某行中,所以我也通过以下方式删除了该行:
dsZonderNa <- dsZonderNa[-c(343),]
我以为是问题,但是当我尝试这样做时仍然无法正常工作:
MRtobin <- lm(dsZonderNa$ProfMarg ~ dsZonderNa$`R&D%-3`+dsZonderNa$`CostEmpl/OPRev`)
summary(MRtobin)
我得到的结果很奇怪。它给了我很多像这样的行:
Residuals:
ALL 349 residuals are 0: no residual degrees of freedom!
Coefficients:
Estimate Std. Error t value
(Intercept) 4.85100 NA NA
dsZonderNa$`R&D%-3` 0.62500 NA NA
dsZonderNa$`CostEmpl/OPRev`0.59399999999999997 1.88738 NA NA
dsZonderNa$`CostEmpl/OPRev`0.62 -6.43700 NA NA
dsZonderNa$`CostEmpl/OPRev`0.65600000000000003 -4.06600 NA NA
dsZonderNa$`CostEmpl/OPRev`0.65900000000000003 1.90100 NA NA
dsZonderNa$`CostEmpl/OPRev`0.79300000000000004 -1.15300 NA NA
最后说:
Residual standard error: NaN on 0 degrees of freedom
Multiple R-squared: 1, Adjusted R-squared: NaN
F-statistic: NaN on 348 and 0 DF, p-value: NA
我在互联网上查找了一些东西,可能是行不是数字,但是当我尝试使用is.factor()尝试所有列时,它们都返回false。
我真的不是怎么解决这个问题,如果我删除了AvgCost / OpRev变量,它可以工作,但是一旦我使用了那个变量,我就会得到奇怪的输出。因此问题可能出在该列上,但我不知道在检查该列的位置,并且据我所知,它仅包含数值。
希望有人知道我该怎么做。