ओमेगा आर में प्रभाव को मापने के लिए चुकता?


10

मेरे द्वारा पढ़ी जा रही आँकड़ों की किताब मेरे प्रयोगों के प्रभावों को मापने के लिए ओमेगा वर्ग की सिफारिश करती है। मैंने पहले ही एक स्प्लिट प्लॉट डिज़ाइन (भीतर-विषयों और बीच-विषयों डिज़ाइन का मिश्रण) का उपयोग करके साबित कर दिया है कि मेरे भीतर के विषय कारक p <0.001 और F = 17 के साथ सांख्यिकीय रूप से महत्वपूर्ण हैं।

अब मैं देख रहा हूं कि कितना बड़ा अंतर है ... क्या आर (या अजगर के लिए कहीं न कहीं ओमेगा का कार्यान्वयन है? मुझे पता है ... एक सपना देख सकते हैं?) आर-संबंधित सामान के लिए इंटरनेट पर खोज करना है। दर्द * , मुझे नहीं पता कि मैं सी के साथ सामान खोजने का प्रबंधन कैसे करता हूं।

धन्यवाद!


3
मैं इस तरह के एक समारोह के बारे में पता नहीं कर रहा हूँ, लेकिन शायद किसी को Olejnik और Algina (2003) में सूत्रों पर दिखाई दे सकता है cps.nova.edu/marker/olejnik2003.pdf और एक समारोह लिखने
Jeromy Anglim

3
@Jeromy अच्छा संदर्भ! यह भी देखने लायक है: दोहराया उपायों के डिजाइनों के लिए अनुशंसित प्रभाव आकार के आँकड़े (बीआरएम 2005 37 (3)), j.mp/cT9uEQ
chl

2
@chl धन्यवाद जाहिरा तौर पर, ezANOVA () आर पैकेज में ez पैकेज में सामान्यीकृत एटा चुकता।
जेरोमी एंग्लिम

जवाबों:


7

ओमेगा वर्ग की गणना करने के लिए एक फ़ंक्शन सीधा लिखने के लिए है। यह फ़ंक्शन एनोव टेस्ट द्वारा लौटाए गए ऑब्जेक्ट को लेता है, और गणना करता है और रिटर्न और ओमेगा चुकता करता है:

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)
}

संपादित करें: एन-वे एनओवी मॉडल के लिए अद्यतन फ़ंक्शन:

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

मुझे हाल ही में a रिपोर्ट करनी थी ।ω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

मेरा सुझाव है कि सामान्यीकृत एटा वर्ग माना जाता है ( रेफरी , रेफ ) प्रभाव के आकार का एक अधिक उपयुक्त उपाय। यह R के लिए ez पैकेज में ANOVA आउटपुट में शामिल है ।


5
दरअसल, एटा-स्क्वेर एक बेहद सकारात्मक पक्षपाती आँकड़ा है। इसलिए, इस स्थिति में ओमेगा-चुकता की तुलना में बहुत बुरा है, हालांकि इसकी सादगी के कारण, यह अधिक लोकप्रिय है।

मैं उपर्युक्त उपयोगकर्ता से सहमत हूं। यहाँ इसे वापस करने के लिए एक कड़ी है। daniellakens.blogspot.nl/2015/06/…
Deleet


0

डैनियल "स्ट्रेंजजैके" लुडेके का पैकेज sjstatsएनोवा मॉडल के लिए ओमेगा- स्क्वैयर , आंशिक-ओमेगा-स्क्वेड आदि नहीं कर सकता है। इसकी जांच - पड़ताल करें।

यहाँ एक विगनेट है जो दर्शाता है कि:

https://cran.r-project.org/web/packages/sjstats/vignettes/anova-statistics.html

install.packages("sjstats")
library(sjstats)

mod1 <- aov(y~x, data= d.frame)

anova_stats(mod1)
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.