Rでの効果の測定のために2乗したオメガ?


10

私が読んでいる統計の本は、私の実験の効果を測定するためにオメガ二乗を推奨しています。私は、分割プロット計画(被験者内と被験者間設計の混合)を使用して、被験者内係数がp <0.001およびF = 17で統計的に有意であることをすでに証明しています。

今、私は違いがどれほど大きいかを探しています... R(またはpython?私は知っています...夢を見ることができます;)のどこかにオメガの2乗の実装がありますRに関連するものをインターネットで検索すると痛み*は、私はCでものを見つけるために管理する方法がわかりません

ありがとう!


3
私はそのような関数を認識していませんが、おそらく誰かがOlejnik and Algina(2003)cps.nova.edu/marker/olejnik2003.pdfの式を見て関数を書くことができます
Jeromy Anglim '22

3
@Jeromy Niceリファレンス!これも一見の価値があります:反復測定計画の推奨効果サイズ統計(BRM 2005 37(3))、j.mp/cT9uEQ
chl

2
@chlありがとう。どうやら、RのezパッケージのezANOVA()は、一般化されたetaの2乗を報告します。
Jeromy Anglim 2010

回答:


7

オメガ2乗を計算する関数は、簡単に記述できます。この関数は、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ウェイ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

一般化されたエータの二乗は(refref)より効果的なサイズの適切な尺度と見なされることをお勧めします。Rのezパッケージの ANOVA出力に含まれています


5
実際には、eta-squaredは非常にポジティブにバイアスされた統計です。したがって、この状況ではオメガ2乗よりもはるかに悪いですが、その単純さのために、より人気があります。

上記のユーザーに同意します。これをバックアップするためのリンクは次のとおりです。daniellakens.blogspot.nl/2015/06/...
Deleet


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.