r语言 - 做ANCOVA后如何得到科恩的d值?

  • 本文关键字:何得 r语言 ANCOVA r ancova
  • 更新时间 :
  • 英文 :


我有一个数据集,我在上面运行了ANCOVA并进行了postHoc分析。当我通过键入summary(data(来查看我的数据的概要时,我只看到t值和p值。

有没有一种方法可以让我看到cohen在这个问题上的d值?我正在使用R统计数据包。

关于效果大小的注记

问候!首先,你永远不会用科恩的d作为ANCOVA。ANCOVA更常见的效应大小是η平方或部分η平方。此外,我没有看到您发布任何代码或数据,所以很难准确猜测到目前为止您是如何运行模型的。我可以用一些数据运行一个模型,如果你想至少知道如何使用,你可以使用这些数据,但下次在你的问题中提供你的数据的dput,以及你迄今为止运行的代码。

运行ANCOVA

首先,我们可以加载effectsize库来获得我们的eta平方估计,并加载我们的数据,但要做一些小的更改。

#### Library ####
library(effectsize)
library(tidyverse)
library(rstatix)
#### Load Data ####
data(obk.long,
package = "afex")
#### Modify Data ####
obk.long <- obk.long[1:240 %% 3 == 0, ]
obk.long$id <- seq_len(nrow(obk.long))

如果我们查看数据,我们可以检查ANCOVA:是否合适(至少在表面上(

#### Inspect Data ####
glimpse(obk.long)

在这里你可以看到这个命令的数据:

Rows: 80
Columns: 7
$ id        <int> 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 1…
$ treatment <fct> control, control, control, control, control, control…
$ gender    <fct> M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, F, F, F…
$ age       <dbl> -4.75, -4.75, -4.75, -4.75, -4.75, -2.75, -2.75, -2.…
$ phase     <fct> pre, post, post, fup, fup, pre, post, post, fup, fup…
$ hour      <fct> 3, 1, 4, 2, 5, 3, 1, 4, 2, 5, 3, 1, 4, 2, 5, 3, 1, 4…
$ value     <dbl> 4, 3, 3, 3, 4, 5, 2, 5, 5, 1, 5, 4, 5, 6, 6, 7, 2, 5…

然后,我们可以使用以下模型拟合ANCOVA:

#### Fit Data to ANCOVA ####
fit <- aov(value ~ gender + phase + treatment, 
data = obk.long)
summary(fit)

在这里你可以看到模型的摘要:

Df Sum Sq Mean Sq F value   Pr(>F)    
gender       1   9.11    9.11   2.932    0.091 .  
phase        2   3.06    1.53   0.493    0.613    
treatment    2  81.04   40.52  13.037 1.41e-05 ***
Residuals   74 229.98    3.11                     
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

我们还可以查看与以下代码的成对比较:

#### Tukey PWC ####
tukey_hsd(fit)

如图所示:

# A tibble: 7 × 9
term     group1 group2 null.…¹ estim…² conf.…³ conf.…⁴   p.adj p.adj…⁵
* <chr>    <chr>  <chr>    <dbl>   <dbl>   <dbl>   <dbl>   <dbl> <chr>  
1 gender   F      M            0   0.675  -0.110   1.46  9.1 e-2 ns     
2 phase    fup    post         0  -0.125  -1.18    0.929 9.57e-1 ns     
3 phase    fup    pre          0  -0.531  -1.82    0.760 5.89e-1 ns     
4 phase    post   pre          0  -0.406  -1.70    0.885 7.33e-1 ns     
5 treatme… contr… A            0   2.04    0.773   3.30  7.14e-4 ***    
6 treatme… contr… B            0   2.21    1.10    3.31  2.56e-5 ****   
7 treatme… A      B            0   0.170  -1.01    1.35  9.37e-1 ns     
# … with abbreviated variable names ¹​null.value, ²​estimate, ³​conf.low,
#   ⁴​conf.high, ⁵​p.adj.signif

获得部分Eta

从那里你只需运行以下代码:

#### Run Effect Size ####
eta_squared(fit,
partial = T)

这给了你效果大小:

# Effect Size for ANOVA (Type I)
Parameter | Eta2 (partial) |       95% CI
-----------------------------------------
gender    |           0.04 | [0.00, 1.00]
phase     |           0.01 | [0.00, 1.00]
treatment |           0.26 | [0.12, 1.00]
- One-sided CIs: upper bound fixed at [1.00].

旁注

在运行ANCOVA或从模型中获取摘要之前,您应该检查许多事情。在解释效果大小等结果之前,最好确保它符合所有模型假设。如果这有帮助,请告诉我。

相关内容

  • 没有找到相关文章

最新更新