使用2型平方和的线性回归,如何从模型输出中提取斜率、截距、r2?

x33g5p2x  于 2023-03-10  发布在  其他
关注(0)|答案(1)|浏览(222)

我想知道如何提取斜率,截距和R2从输出的线性回归使用类型2平方和?
我知道可以使用R包car执行“II型”平方和。例如,

df <- data.frame(x = c(1, 2, 3, 4, 5),
                   y = c(2, 4, 6, 8, 10.5))
model <- lm(y ~ x, data = df)
anova_result <- car::Anova(model, type="II")

它给出了一个输出,如只有平方和、Df和P值方差分析表(II类检验),没有斜率、截距和r2。

6kkfgxo0

6kkfgxo01#

获取模型参数和总R2的一种方法是使用基函数summary(),在您的示例中,斜率约为2.1,intecept为-0.2,倍数R2为0.977。

> summary(model)

Call:
lm(formula = y ~ x, data = df)

Residuals:
         1          2          3          4          5 
 1.000e-01  8.285e-17 -1.000e-01 -2.000e-01  2.000e-01 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept) -0.20000    0.19149  -1.044    0.373    
x            2.10000    0.05774  36.373 4.57e-05 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.1826 on 3 degrees of freedom
Multiple R-squared:  0.9977,    Adjusted R-squared:  0.997 
F-statistic:  1323 on 1 and 3 DF,  p-value: 4.57e-05

car允许您根据如何划分平方和的方式来测试不同的ANOVA假设,在Cross Validated post中进行了很好的总结。
请注意,在这种情况下,x主效应的F值和p值与type = "II"type = "III"相同。

相关问题