पृष्ठभूमि
मैं एक मेटा-विश्लेषण कर रहा हूं जिसमें पहले प्रकाशित डेटा शामिल है। अक्सर, उपचार के बीच अंतर को पी-मूल्यों, कम से कम महत्वपूर्ण अंतर (एलएसडी) और अन्य आंकड़ों के साथ सूचित किया जाता है, लेकिन विचरण का कोई प्रत्यक्ष अनुमान नहीं देता है।
मेरे द्वारा उपयोग किए जा रहे मॉडल के संदर्भ में, विचरण का एक बड़ा हिस्सा ठीक है।
मुसीबत
यहाँ के परिवर्तनों की एक सूची है जहाँ (Saville 2003) जिसे मैं विचार कर रहा हूं, प्रतिक्रिया की सराहना की जा रही है; नीचे, मैं मानता हूं कि तो और चर आमतौर पर वितरित किए जाते हैं जब तक कि यह नहीं कहा जाता है:एस ई = √ α=0.051- α / 2=0.975
प्रशन:
दिए गए , , और उपचार का अर्थ है औरएन ˉ एक्स 1 ˉ एक्स 2 एस ई = ˉ एक्स 1 - ˉ एक्स 2
दिया एलएसडी (रोसेनबर्ग 2004) , , , जहां ब्लॉक की संख्या है, और आरसीबीडी लिए डिफ़ॉल्ट रूप से n b b n = b S E = L S D
दिया गया MSD (न्यूनतम महत्वपूर्ण अंतर) (वांग 2000) , , , df =α 2 n - 2 S E = M S D
दिया गया एक ९ ५% कॉन्फिडेंस इंटरवल (सैविले २००३) (माध्य से ऊपरी या निचले आत्मविश्वास की सीमा तक मापा जाता है), , औरn S E = C I
Tukey का HSD, , जहाँ 'स्टूडेंटाइज्ड रेंज स्टेटिस्टिक' है,क्यू एस ई = एच एस डी
इन समीकरणों को एनकोप करने के लिए एक आर फ़ंक्शन:
उदाहरण डेटा:
data <- data.frame(Y=rep(1,5), stat=rep(1,5), n=rep(4,5), statname=c('SD', 'MSE', 'LSD', 'HSD', 'MSD')
उदाहरण का उपयोग करें:
transformstats(data)
transformstats
समारोह:transformstats <- function(data) { ## Transformation of stats to SE ## transform SD to SE if ("SD" %in% data$statname) { sdi <- which(data$statname == "SD") data$stat[sdi] <- data$stat[sdi] / sqrt(data$n[sdi]) data$statname[sdi] <- "SE" } ## transform MSE to SE if ("MSE" %in% data$statname) { msei <- which(data$statname == "MSE") data$stat[msei] <- sqrt (data$stat[msei]/data$n[msei]) data$statname[msei] <- "SE" } ## 95%CI measured from mean to upper or lower CI ## SE = CI/t if ("95%CI" %in% data$statname) { cii <- which(data$statname == '95%CI') data$stat[cii] <- data$stat[cii]/qt(0.975,data$n[cii]) data$statname[cii] <- "SE" } ## Fisher's Least Significant Difference (LSD) ## conservatively assume no within block replication if ("LSD" %in% data$statname) { lsdi <- which(data$statname == "LSD") data$stat[lsdi] <- data$stat[lsdi] / (qt(0.975,data$n[lsdi]) * sqrt( (2 * data$n[lsdi]))) data$statname[lsdi] <- "SE" } ## Tukey's Honestly Significant Difference (HSD), ## conservatively assuming 3 groups being tested so df =2 if ("HSD" %in% data$statname) { hsdi <- which(data$statname == "HSD" & data$n > 1) data$stat[hsdi] <- data$stat[hsdi] / (qtukey(0.975, data$n[lsdi], df = 2)) data$statname[hsdi] <- "SE" } ## MSD Minimum Squared Difference ## MSD = t_{\alpha/2, 2n-2}*SD*sqrt(2/n) ## SE = MSD*n/(t*sqrt(2)) if ("MSD" %in% data$statname) { msdi <- which(data$statname == "MSD") data$stat[msdi] <- data$stat[msdi] * data$n[msdi] / (qt(0.975,2*data$n[lsdi]-2)*sqrt(2)) data$statname[msdi] <- "SE" } if (FALSE %in% c('SE','none') %in% data$statname) { print(paste(trait, ': ERROR!!! data contains untransformed statistics')) } return(data) }
संदर्भ