14

与えられた 2 つのベクトル:

x <- rnorm(10, 10, 1)
y <- rnorm(10, 5, 5)

効果サイズのコーエンの d を計算する方法は?

たとえば、pwr パッケージを使用して、分散が等しくない t 検定の検出力を推定したいのですが、Cohen の d が必要です。

4

4 に答える 4

31

このリンクウィキペディアに従うと、コーエンの t 検定の d は次のようになります。

ここに画像の説明を入力

(分母sigma) は次のとおりです。

ここに画像の説明を入力

だから、あなたのデータで:

set.seed(45)                        ## be reproducible 
x <- rnorm(10, 10, 1)                
y <- rnorm(10, 5, 5)

cohens_d <- function(x, y) {
    lx <- length(x)- 1
    ly <- length(y)- 1
    md  <- abs(mean(x) - mean(y))        ## mean difference (numerator)
    csd <- lx * var(x) + ly * var(y)
    csd <- csd/(lx + ly)
    csd <- sqrt(csd)                     ## common sd computation

    cd  <- md/csd                        ## cohen's d
}
> res <- cohens_d(x, y)
> res
# [1] 0.5199662
于 2013-03-15T16:07:30.080 に答える
29

コーエンのdを計算するための関数を提供するいくつかのパッケージがあります。たとえば、パッケージからcohensD関数を使用できます。lsr

library(lsr)
set.seed(45)
x <- rnorm(10, 10, 1)
y <- rnorm(10, 5, 5)
cohensD(x,y)
# [1] 0.5199662
于 2013-03-15T16:02:45.890 に答える
1

別のより最近のオプションは、effectsize非常に柔軟で、信頼区間も返す を使用することです: https://easystats.github.io/effectsize/reference/cohens_d.html

library(effectsize)

x <- rnorm(10, 10, 1)
y <- rnorm(10, 5, 5)

# for independent measures design
cohens_d(x, y)
#> Cohen's d |        95% CI
#> -------------------------
#> 0.77      | [-0.15, 1.67]
#> 
#> - Estimated using pooled SD.

# in case design is paired
cohens_d(x, y, paired = TRUE)
#> Cohen's d |        95% CI
#> -------------------------
#> 0.49      | [-0.19, 1.20]

reprex パッケージ(v2.0.0)により 2021-06-29 に作成

于 2021-06-29T09:53:43.687 に答える