我在R
中拟合一个线性模型,其中有三个变量,如下所示
cube_mod <- lm(y ~ x + x_2 + x_3)
字符串
然后使用anova
函数显示方差分析的结果,并得到下表
anova(cube_mod)
Analysis of Variance Table
Response: y
Df Sum Sq Mean Sq F value Pr(>F)
x 1 21 21 0.0083 0.928881
x_2 1 658209 658209 254.2771 2.26e-10 ***
x_3 1 64967 64967 25.0977 0.000191 ***
Residuals 14 36240 2589
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
该表分别显示了每个变量的F检验,但我希望下表仅显示完整模型的F检验。
Analysis of Variance Table
Response: y
Df Sum Sq Mean Sq F value Pr(>F)
Model 3 723197 241066 93.13 0
Residuals 14 36240 2589
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
型
有没有一种简单的方法可以从线性模型对象中得到这个表?
4条答案
按热度按时间5gfr0r5j1#
**1)**使用内置的anscombe data.frame
字符串
给出:
型
**2)**或lm对象fm,如注解中所讨论的
型
**3)**另一种方法是从sasLM中获取aov1:
型
更新
增加了使用fm的方法,将其简化了一点,并将模型切换为使用y2,y3和y4作为自变量,因为x1,x2和x3在anscombe中都是相同的。还添加了使用sasLM包的解决方案。
型
g6baxovj2#
我在@G.Grothendieck的回答中使用了示例数据。
您可以将该模型与
anova()
中的仅拦截空模型进行比较。字符串
它显示了与
summary(Model)
和anova(Model)
相同的F检验统计量。型
pqwbnv8z3#
尝试
R
包supernova
中的supernova
函数,类似于字符串
abithluo4#
您可以手动计算:
字符串