오메가 R의 효과를 측정하기 위해 제곱?


10

내가 읽고있는 통계 책은 실험의 효과를 측정하기 위해 오메가 제곱을 권장합니다. 필자는 개체 내 요인이 p <0.001 및 F = 17에서 통계적으로 유의하다는 분할 플롯 설계 (피사체와 개체 간 설계의 혼합)를 사용하여 이미 입증했습니다.

이제 차이가 얼마나 큰지보고 싶습니다 ... R에 대한 어딘가에 오메가 제곱이 있습니까 (또는 파이썬? 알고 있습니다 ... 하나는 꿈을 꿀 수 있습니다.) 인터넷에서 R 관련 물건을 검색하는 것은 고통 * , 나는 C로 물건을 찾는 방법을 모른다.

감사!


3
나는 그러한 기능을 알지 못하지만 아마도 누군가 Olejnik and Algina (2003) cps.nova.edu/marker/olejnik2003.pdf 의 공식을보고 함수를 작성할 수 있습니다
Jeromy Anglim

3
@ Jeeromy 멋진 참조! 반복 측정 설계에 대한 권장 효과 크기 통계 (BRM 2005 37 (3)), j.mp/cT9uEQ
chl

2
@chl 감사합니다. 분명히, R의 ez 패키지에있는 ezANOVA ()는 일반화 된 에타 제곱을보고합니다.
Jeromy Anglim

답변:


7

오메가 제곱을 계산하는 기능은 간단합니다. 이 함수는 aov 테스트에서 반환 된 객체를 가져 와서 계산하고 반환합니다.

omega_sq <- function(aovm){
    sum_stats <- summary(aovm)[[1]]
    SSm <- sum_stats[["Sum Sq"]][1]
    SSr <- sum_stats[["Sum Sq"]][2]
    DFm <- sum_stats[["Df"]][1]
    MSr <- sum_stats[["Mean Sq"]][2]
    W2 <- (SSm-DFm*MSr)/(SSm+SSr+MSr)
    return(W2)
}

편집 : n-way aov 모델의 기능 업데이트 :

omega_sq <- function(aov_in, neg2zero=T){
    aovtab <- summary(aov_in)[[1]]
    n_terms <- length(aovtab[["Sum Sq"]]) - 1
    output <- rep(-1, n_terms)
    SSr <- aovtab[["Sum Sq"]][n_terms + 1]
    MSr <- aovtab[["Mean Sq"]][n_terms + 1]
    SSt <- sum(aovtab[["Sum Sq"]])
    for(i in 1:n_terms){
        SSm <- aovtab[["Sum Sq"]][i]
        DFm <- aovtab[["Df"]][i]
        output[i] <- (SSm-DFm*MSr)/(SSt+MSr)
        if(neg2zero & output[i] < 0){output[i] <- 0}
    }
    names(output) <- rownames(aovtab)[1:n_terms]

    return(output)
}

3

최근에 ω2.

partialOmegas <- function(mod){
    aovMod <- mod
    if(!any(class(aovMod) %in% 'aov')) aovMod <- aov(mod)
    sumAov     <- summary(aovMod)[[1]]
    residRow   <- nrow(sumAov)
    dfError    <- sumAov[residRow,1]
    msError    <- sumAov[residRow,3]
    nTotal     <- nrow(model.frame(aovMod))
    dfEffects  <- sumAov[1:{residRow-1},1]
    ssEffects  <- sumAov[1:{residRow-1},2]
    msEffects  <- sumAov[1:{residRow-1},3]
    partOmegas <- abs((dfEffects*(msEffects-msError)) /
                  (ssEffects + (nTotal -dfEffects)*msError))
    names(partOmegas) <- rownames(sumAov)[1:{residRow-1}]
    partOmegas
}

쉽게 정리할 수있는 지저분한 기능입니다. 그것은 부분을 계산ω2, 아마도 개체 간 요인 설계에만 사용해야합니다.


2

일반화 된 에타 스퀘어는 ( ref , ref )보다 적절한 효과 크기 측정치로 간주 됩니다 R 용 ez 패키지 의 ANOVA 출력에 포함됩니다 .


5
실제로, 에타 제곱은 매우 긍정적으로 치우친 통계량입니다. 따라서이 상황에서 오메가 제곱보다 훨씬 나쁩니다. 단순성으로 인해 더 인기가 있습니다.

위의 사용자에 동의합니다. 백업 할 수있는 링크는 다음과 같습니다. daniellakens.blogspot.nl/2015/06/…
Deleet


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.