首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >做方差分析后如何得到科恩的d值?

做方差分析后如何得到科恩的d值?
EN

Stack Overflow用户
提问于 2022-10-09 20:23:23
回答 1查看 47关注 0票数 0

我有一个数据集,我对其进行了方差分析并进行了postHoc分析。当我通过输入汇总(数据)来查看数据摘要时,我只看到t值和p值。

有什么办法可以看出科恩的d值吗?我在使用R统计软件包。

EN

回答 1

Stack Overflow用户

发布于 2022-10-09 21:09:47

关于效应大小的注记

欢迎光临!首先,你永远不会用Cohen的d来做ANCOVA。ANCOVA的一个更常见的影响大小是eta平方或部分eta平方。此外,我没有看到您发布任何代码或数据,因此很难准确地猜测您是如何运行您的模型的。我可以使用一些数据运行一个模型,如果您至少想知道如何使用,但是下次在您的问题中提供数据的dput以及您已经运行的代码。

运行方差分析

首先,我们可以加载effectsize库,以获得我们的eta平方估计,并以微小的变化加载我们的数据。

代码语言:javascript
复制
#### 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的:

代码语言:javascript
复制
#### Inspect Data ####
glimpse(obk.long)

在这里,您可以看到这个命令中的数据:

代码语言:javascript
复制
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:

代码语言:javascript
复制
#### Fit Data to ANCOVA ####
fit <- aov(value ~ gender + phase + treatment, 
          data = obk.long)
summary(fit)

在这里,您可以看到模型中的摘要:

代码语言:javascript
复制
            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

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

代码语言:javascript
复制
#### Tukey PWC ####
tukey_hsd(fit)

如图所示:

代码语言:javascript
复制
# 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

在这里,您只需运行以下代码:

代码语言:javascript
复制
#### Run Effect Size ####
eta_squared(fit,
            partial = T)

它给出了效果大小:

代码语言:javascript
复制
# 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或从模型中获取摘要之前,您应该检查一些事情。在解释像效果大小这样的结果之前,最好确保它符合所有的模型假设。如果这有用的话请告诉我。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74008112

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档