Подтвердить что ты не робот

Оценить Cohen d для размера эффекта

заданы два вектора:

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

Как вычислить Cohen d для размера эффекта?

Например, я хочу использовать пакет pwr для оценки мощности t-теста с неравными отклонениями, и для этого требуется Cohen d.

4b9b3361

Ответ 1

После эта ссылка и wikipedia, Cohen d для t-теста выглядит следующим образом:

enter image description here

Где sigma (знаменатель):

enter image description here

Итак, с вашими данными:

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 d
}
> res <- cohens_d(x, y)
> res
# [1] 0.5199662

Ответ 2

Существует несколько пакетов, предоставляющих функцию для вычисления Cohen d. Например, вы можете использовать функцию cohensD в пакете lsr:

library(lsr)
set.seed(45)
x <- rnorm(10, 10, 1)
y <- rnorm(10, 5, 5)
cohensD(x,y)
# [1] 0.5199662