为什么在R中使用summary (aov)和anova_test时会得到不同的统计数据?



这是R-stats问题。我有很多科目的数据。我的因变量是一些血液测量,比如白细胞计数(常量变量)。BC = 5.6我感兴趣的自变量是组Dx(3个级别:控制,抑郁,缓解)。我想要"纠正"。对于(添加协变量),对于年龄(cont)和性别(binary)。

这给了我公式:

myform_aov <- as.formula(sprintf("%s ~ %s + %s + %s", current_bc, "age","gender", "Dx"))

如果我把这个公式输入

anova <- summary(aov(myform_aov, data = data))

res.ancova <- data %>% anova_test(myform_aov)

我得到(稍微)不同的结果。为什么会这样,哪一个更正确?

summary(aovanova_test(()) ?

自动阀:Dx, p-val: 0.2377年龄,p-val: 0.018性别、p-val: 0.04

anova_test:Dx, p-val: 0.238年龄,p值:0.014性别,p-val: 0.06

默认情况下,anova_test()正在做II型测试,aov()正在做I型测试。通过指定type=1,可以使anova_test()aov()比较。

library(ggplot2)
library(rstatix)
form <- qsec ~ as.factor(cyl) + hp
anova_test(data=mtcars, form )
#> Coefficient covariances computed by hccm()
#> ANOVA Table (type II tests)
#> 
#>           Effect DFn DFd     F     p p<.05   ges
#> 1 as.factor(cyl)   2  28 0.287 0.753       0.020
#> 2             hp   1  28 9.286 0.005     * 0.249
summary(aov(form, data=mtcars))
#>                Df Sum Sq Mean Sq F value   Pr(>F)    
#> as.factor(cyl)  2  34.61  17.303  10.021 0.000522 ***
#> hp              1  16.03  16.034   9.286 0.004995 ** 
#> Residuals      28  48.35   1.727                     
#> ---
#> Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
anova_test(data=mtcars, form, type=1)
#> ANOVA Table (type I tests)
#> 
#>           Effect DFn DFd      F        p p<.05   ges
#> 1 as.factor(cyl)   2  28 10.021 0.000522     * 0.417
#> 2             hp   1  28  9.286 0.005000     * 0.249

在2023-01-17由reprex包(v2.0.1)创建

相关内容

  • 没有找到相关文章

最新更新