我有一个线性回归问题,我用以下方法解决了这个问题:
m=lm(value ~ mean, data=d)
从这个值我可以得到R2和回归方程。
但我想得到标准错误(拟合错误)。我能够看到价值,但我不知道如何将其存储在数据框中。
我使用summary(m)
获取值,结果如下:
Call:
lm(formula = value ~ mean, data = d)
Residuals:
Min 1Q Median 3Q Max
-25.000 -15.909 -2.124 14.596 44.697
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 2.500e+01 1.064e+00 23.49 <2e-16 ***
mean -1.759e-06 1.536e+00 0.00 1
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 16.85 on 1298 degrees of freedom
Multiple R-squared: 1.01e-15, Adjusted R-squared: -0.0007704
F-statistic: 1.311e-12 on 1 and 1298 DF, p-value: 1
所以问题是:我怎样才能访问这些值?
谢谢
答案 0 :(得分:8)
函数summary
只返回一个R列表。
##Generate some dummy data
x = runif(10);y = runif(10)
m = summary(lm(y ~ x))
我们可以使用通常的列表语法来提取我们想要的内容。例如,
m[[4]]
返回模型拟合的数据框
R> m[[4]]
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.44265 0.2443 1.8123 0.1075
x 0.07066 0.4460 0.1584 0.8781
和m[[6]]
会返回Residual standard error
R> m[[6]]
[1] 0.2928
有一些便利功能,例如coefficients(m)
答案 1 :(得分:3)
使用resid(m)
访问残差。
编辑:从评论中,您似乎想要sum(resid(m) ^ 2)
。
答案 2 :(得分:0)
提取残留标准偏差'Sigma'
sigma(m)