我的代码中有一些错误,我无法弄清楚。 我有一个数据框“a”,其中包含:
row.names GM variance stddev skewness correltomarket DEratio
1 MMM 0.9785122 0.9998918 0.9999459 -1.049053 2.932738 0.07252799
现在,我需要使用以下代码
找到上述数据帧的线性模型riskmodel <- lm(formula=((a$GM)~(a$variance)+(a$skewness)+
(a$correltomarket)+(a$DEratio)),data=a)
当我运行此代码时,我得到了“riskmodel”
的以下摘要Call:
lm(formula = ((a$GM) ~ (a$variance) + (a$skewness) + (a$correlationtomarket) +
(a$DEratio)), data = a)
Residuals:
ALL 1 residuals are 0: no residual degrees of freedom!
Coefficients: (4 not defined because of singularities)
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.9785 NA NA NA
a$variance NA NA NA NA
a$skewness NA NA NA NA
a$correlationtomarket NA NA NA NA
a$DEratio NA NA NA NA
Residual standard error: NaN on 0 degrees of freedom
我不明白为什么,我真的很感激那些帮助我的人。我不知道什么是错的。
答案 0 :(得分:1)
您的data.frame中只有一个观察点。只有一次观察,您无法使用5个参数拟合模型。您需要至少六个观测值才能拟合参数并估计方差。