आर

2012-12-15 32 views
5

में एनोवा और तुलना (ऑर्थोगोनल एकल डीएफ) का विभाजन, मैं एनोवा (निश्चित या मिश्रित मॉडल) में एकल डीएफ ऑर्थोगोनल कंट्रास्ट करना चाहता हूं। यहां केवल उदाहरण है:आर

require(nlme) 
data (Alfalfa) 
    Variety: a factor with levels Cossack, Ladak, and Ranger 
    Date : a factor with levels None S1 S20 O7 
    Block: a factor with levels 1 2 3 4 5 6 
    Yield : a numeric vector 

ये आंकड़े एक उदाहरण एक विभाजित भूखंड डिजाइन के रूप स्नेडेकोर और कोचरन (1980) में वर्णित हैं। प्रयोग में उपयोग की जाने वाली उपचार संरचना 3 \ times4 पूर्ण फैक्टोरियल थी, जिसमें अल्फाल्फा की तीन किस्मों और चार 1 9 43 में तीसरी कटौती की तिथियां थीं। प्रायोगिक इकाइयों को को छह ब्लॉक में व्यवस्थित किया गया था, प्रत्येक को चार भूखंडों में विभाजित किया गया था। अल्फल्फा (कोसाक, लाडक, और रेंजर) की किस्मों को ब्लॉकों और को यादृच्छिक रूप से तीसरे काटने की तारीख (कोई नहीं, एस 1-सितंबर 1, एस 20-सितंबर 20, और ओ 7-अक्टूबर 7) को यादृच्छिक रूप से असाइन किया गया था भूखंड प्रत्येक ब्लॉक पर सभी चार तिथियों का उपयोग किया गया था।

(a) S1 vs others (S20 O7) 
    (b) S20 vs 07, 

किस्म कारक दो विरोधाभासों के लिए::

(c) Cossack vs others (Ladak and Ranger) 
    (d) Ladak vs Ranger 

इस प्रकार

model<-with (Alfalfa, aov(Yield~Variety*Date +Error(Block/Date/Variety))) 

    > summary(model) 

Error: Block 
      Df Sum Sq Mean Sq F value Pr(>F) 
Residuals 5 4.15 0.83 

Error: Block:Date 
      Df Sum Sq Mean Sq F value Pr(>F) 
Date  3 1.9625 0.6542 17.84 3.29e-05 *** 
Residuals 15 0.5501 0.0367 
--- 
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 

Error: Block:Date:Variety 
      Df Sum Sq Mean Sq F value Pr(>F) 
Variety  2 0.1780 0.08901 1.719 0.192 
Variety:Date 6 0.2106 0.03509 0.678 0.668 
Residuals 40 2.0708 0.05177 

मैं, तिथि के लिए उदाहरण के लिए, दो विरोधाभासों (एक समूह के भीतर ओर्थोगोनल विरोधाभासों) कुछ तुलना करना चाहते एनोवा आउटपुट इस तरह दिखेगा:

Error: Block 
       Df Sum Sq Mean Sq F value Pr(>F) 
Residuals 5 4.15 0.83 

Error: Block:Date 
      Df Sum Sq Mean Sq F value Pr(>F) 
Date  3 1.9625 0.6542 17.84 3.29e-05 *** 
     (a) S1 vs others ?  ? 
     (b) S20 vs 07  ?  ? 
Residuals 15 0.5501 0.0367 
--- 
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 

Error: Block:Date:Variety 
      Df Sum Sq Mean Sq F value Pr(>F) 
Variety  2 0.1780 0.08901 1.719 0.192 
    (c) Cossack vs others ?  ? ? 
    (d) Ladak vs Ranger ?  ?  ? 
Variety:Date 6 0.2106 0.03509 0.678 0.668 
Residuals 40 2.0708 0.05177 

मैं इसे कैसे कर सकता हूं? ...................

+3

कैसे वास्तव में आप विरोधाभासों को परिभाषित करने के लिए है पर एनोवा पर किसी भी पाठ्यपुस्तक, और देखें '? Contrasts' कैसे आप' Date' स्तर 'None' बाहर करने के लिए आप चाहते हैं आर –

+0

में उन्हें लागू करने के लिए है पर? –

+0

@ सेवनहोहेनस्टीन संख्या, मुझे चाहिए, 'कोई नहीं' नहीं है 'एनए' – SHRram

उत्तर

1

सबसे पहले, एनोवा का उपयोग क्यों करें? आप का उपयोग nlme पैकेज से कर सकते हैं और परिकल्पना परीक्षण के अलावा aov आपको देता है, आप प्रभाव के आकार और प्रभावों के निर्देशों के व्याख्यात्मक अनुमान भी प्राप्त करते हैं। किसी भी हाल में दो दृष्टिकोण दिमाग में आते हैं:

  • मैन्युअल चर पर विरोधाभासों निर्दिष्ट करें, के रूप में समझाया here
  • multcomp पैकेज स्थापित करें और glht का उपयोग करें।

glht उन मॉडलों के बारे में थोड़ी सी राय है जो उनके भविष्यवाणियों में बहुविकल्पीय हैं। लंबी कहानी छोटी, हालांकि, यदि आप अपने मॉडल के vcov के समान आयामों और dimnames के साथ एक विकर्ण मैट्रिक्स cm0 बनाना चाहते हैं (मान लीजिए कि यह lme फिट model0 कहा जाता है), तो summary(glht(model0,linfct=cm0)) को समान अनुमान, एसई और परीक्षण देना चाहिए आंकड़े summary(model0)$tTable (लेकिन गलत पी-मानों के रूप में)। अब, यदि आप cm0 से पंक्तियों के रैखिक संयोजन के साथ गड़बड़ करते हैं और cm0 के समान कॉलम के साथ नए मैट्रिक्स बनाते हैं लेकिन पंक्तियों के रूप में ये रैखिक संयोजन, आप अंततः एक मैट्रिक्स बनाने के लिए पैटर्न को समझेंगे जो आपको अवरोध देगा प्रत्येक सेल के लिए अनुमान (इसे predict(model0,level=0) के खिलाफ जांचें)। अब, इस मैट्रिक्स की विभिन्न पंक्तियों के बीच अंतर के साथ एक और मैट्रिक्स आपको समूह के अंतर के बीच समानता देगा। एक ही दृष्टिकोण लेकिन संख्यात्मक मानों के साथ 0 के बजाय 1 पर सेट किया जा सकता है, प्रत्येक सेल के लिए ढलान अनुमान प्राप्त करने के लिए उपयोग किया जा सकता है। फिर इन ढलान अनुमानों के बीच मतभेदों का उपयोग समूह ढलान मतभेदों के बीच प्राप्त करने के लिए किया जा सकता है।

तीन बातें ध्यान में रखना:

  • जैसा कि मैंने कहा पी मूल्यों lm के अलावा अन्य मॉडल, (संभवतः, प्रयास नहीं किया है) aov, और कुछ अस्तित्व मॉडल के लिए गलत होने जा रहे हैं। ऐसा इसलिए है क्योंकि glht डिफ़ॉल्ट रूप से t वितरण के बजाय z वितरण मानता है (lm को छोड़कर)। सही पी मूल्यों को प्राप्त करने के लिए, दो-पुच्छीय पी-मूल्य जहां STAT परीक्षण आंकड़ा glht और DF द्वारा दिया है प्राप्त करने के लिए परीक्षण आंकड़ा glht गणना लेने के लिए और मैन्युअल 2*pt(abs(STAT),df=कर DF,lower=F)dfsummary(model0)$tTable में इसी प्रकार के डिफ़ॉल्ट कंट्रास्ट से संबंधित प्रकार से।
  • आपके विरोधाभास शायद अब स्वतंत्र परिकल्पनाओं का परीक्षण नहीं करते हैं, और यदि यह पहले से नहीं था, तो कई परीक्षण सुधार आवश्यक है। p.adjust के माध्यम से पी-मान चलाएं।
  • यह प्रोफेसरों और सहयोगियों से बहुत से हैंडविंग का अपना खुद का आसवन है, और संबंधित विषयों पर क्रॉसवालिडेटेड और स्टैक ओवरफ्लो के बहुत सारे पढ़ने हैं। मैं कई तरीकों से गलत हो सकता हूं, और यदि मैं हूं, तो उम्मीद है कि कोई और जानकार हमें दोनों को सही करेगा।
+1

इसके अलावा, मुझे अधिक विस्तृत, चरण-दर-चरण कोड न देने के बारे में खेद है। मेरी चल रही परियोजनाओं में से एक है एक स्व-दस्तावेज चमकदार ऐप बनाना जो जनता के लिए यह सब करता है, इसलिए यदि मैं विरोधाभास और मिश्रित प्रभावों के बारे में लिखने/सोचने में काफी समय व्यतीत करने जा रहा हूं, तो मुझे इसे करना चाहिए क्योंकि यह अंततः अधिक लोगों की मदद करेगा। – f1r3br4nd