R में ANCOVA कैसे करें


17

मैं पौधे के घनत्व के संबंध में डेटा का एक ANCOVA विश्लेषण करना चाहता हूं। सबसे पहले, मैं यह जानना चाहूंगा कि दो ढलानों, एक एन और एक एस के बीच संयंत्र घनत्व में कोई अंतर है या नहीं, लेकिन मेरे पास अन्य डेटा जैसे ऊंचाई, चंदवा खुलापन और मेजबान संयंत्र की ऊंचाई है। मुझे पता है कि मेरे सहसंयोजक को दो ढलान (एन और एस) होना चाहिए। मैंने इस मॉडल का निर्माण किया, जो R में चलता है और हालांकि मुझे नहीं पता कि यह अच्छा प्रदर्शन करता है या नहीं। इसके अलावा, मैं यह जानना चाहूंगा कि यदि मैं प्रतीक का उपयोग करता हूं +या क्या अंतर है *

model1 <- aov(density~slope+altitude+canopy+height)
summary(model1)
model1

3
+ केवल मुख्य प्रभावों की गणना करेगा, * * से जुड़े कारकों के बीच बातचीत का अनुमान लगाएगा। ANCOVA फ्रेमवर्क आमतौर पर निरंतर कारक के केवल एक मुख्य प्रभाव का अनुमान लगाते हैं, लेकिन सभी समूहीकृत कारकों के बीच बातचीत।
रुसलपिएरेस

जवाबों:


14

इसके लिए मूल उपकरण है lm; ध्यान दें कि के aovलिए एक आवरण है lm

विशेष रूप से, यदि आपके पास कुछ समूह चर (कारक), जी , और एक निरंतर कोवरिएट एक्स , तो मॉडल y ~ x + gएक मुख्य प्रभाव ANCOVA मॉडल y ~ x * gफिट होगा , जबकि एक मॉडल फिट होगा जिसमें कोवरिएट के साथ बातचीत शामिल है। aovसमान सूत्र लेंगे।

Noteमदद पर विशेष ध्यान दें aov

के रूप में +बनाम *, russellpierce काफी कवर यह है, लेकिन मैं अपने आप को देखो की सलाह देते हैं ?lmऔर ?formulaऔर सबसे विशेष रूप से मैनुअल की धारा 11.1 आर के लिए एक परिचय है कि (या आप इसे ऑनलाइन प्राप्त कर सकते हैं आर के साथ आता है अगर आप पता लगा कि कैसे है इसे अपने कंप्यूटर पर खोजने के लिए, सबसे आसानी से, इसमें R या RStudio में से "डाउन" पुल मेनू को खोजना शामिल है)।


लगता है मैं दो समूह कारकों है , और दो covariate एक्स 1 , एक्स 2 , अपने मॉडल होने के साथ y मैं j = μ + α मैं + η j + एक्स मैं j 1 γ 1 + एक्स मैं जे 2 γ 2 + ε मैं j करता y ~ G_1 + g_2 + x_1 + x_2 एक ही काम कर देता है? X_1 और x_2 परीक्षण के खिलाफ प्राप्त एफ मूल्यों है γ 1 = 0 और γजी1,जी2एक्स1,एक्स2
yमैंजे=μ+αमैं+ηजे+एक्समैंजे1γ1+एक्समैंजे2γ2+εमैंजे
γ1=0 क्रमशः? γ2=0
सायन

यकीन नहीं होता कि मैं कैसे चूक गया। हाँ। .... और यदि आप एक साथ दोनों का परीक्षण करना चाहते हैं, तो उनके साथ और उनके बिना दोनों फिट हैं और फिट एलएम ऑब्जेक्ट्स को पास करें anova(आप जल्द ही देखेंगे कि क्या आप उन्हें गलत क्रम में देते हैं क्योंकि कुछ एसएस नकारात्मक होंगे यदि आप करते हैं )
Glen_b -Reinstate मोनिका

10

मैं सलाह देता हूं कि आर बाय फिल्ड का उपयोग करके डिस्कवरिंग स्टेटिस्टिक्स प्राप्त करें और पढ़ें । उनका ANCOVA पर एक अच्छा खंड है।

निम्नलिखित पैकेज में R लोड में ANCOVA चलाने के लिए:

car
compute.es
effects
ggplot2
multcomp
pastecs
WRS

यदि आप उपयोग कर रहे हैं lmया aov(मैं उपयोग करता हूं aov) सुनिश्चित करें कि आपने aovया तो करने से पहले "विरोधाभास" फ़ंक्शन का उपयोग करके विरोधाभासों को निर्धारित किया है lm। R डिफ़ॉल्ट रूप से गैर-ऑर्थोगोनल विरोधाभासों का उपयोग करता है जो एक ANCOVA में सब कुछ गड़बड़ कर सकता है। यदि आप रूढ़िवादी विरोधाभासों का उपयोग करना चाहते हैं:

contrasts(dataname$factorvariable)=contr.poly(# of levels, i.e. 3) 

फिर अपने मॉडल को चलाएं

model.1=aov(dv~covariate+factorvariable, data=dataname)

मॉडल का उपयोग देखने के लिए:

Anova(model.1, type="III") 

सुनिश्चित करें कि आप Anovaयहाँ "A" का उपयोग करते हैं और नहीं anova। यह टाइप III एसएस का उपयोग करके परिणाम देगा।

summary.lm(model.1)एक और सारांश देगा और इसमें आर-वर्ग शामिल होगा। उत्पादन।

posth=glht(model.1, linfct=mcp(factorvariable="Tukey"))  ##gives the post-hoc Tukey analysis
summary(posth) ##shows the output in a nice format.

यदि आप प्रतिगमन ढलानों की समरूपता के लिए परीक्षण करना चाहते हैं तो आप IV और कोवरिएट के लिए एक सहभागिता शब्द भी शामिल कर सकते हैं। यह होगा:

model=aov(dv~covariate+IV+covariate:IV, data=dataname)

यदि इंटरैक्शन शब्द महत्वपूर्ण है, तो आपके पास समरूपता नहीं है।


गैर-ऑर्थोगोनल विरोधाभास सब कुछ गड़बड़ क्यों करते हैं?
टिंटिनथोंग

1
"क्यों गैर-ऑर्थोगोनल विरोधाभासों ने सब कुछ गड़बड़ कर दिया" के बारे में उपरोक्त प्रश्न का उत्तर देने के लिए। इसका उत्तर यह है कि आर नॉन-ऑर्थोगोनल (मतलब के बीच अंतर) के लिए चूक करता है, जो समस्याओं का कारण बन सकता है यदि आप प्रत्येक IV के योगदान को अलग से देखना चाहते हैं। जब हम रूढ़िवादी विरोधाभासों को निर्दिष्ट करते हैं तो हम आर को बताते हैं कि हम चाहते हैं कि एसएस IV के लिए पूरी तरह से विभाजन और गैर-अतिव्यापी हो। इस तरह हम प्रत्येक भविष्यवक्ता को साफ और स्पष्ट रूप से जिम्मेदार भिन्नता देख सकते हैं। यदि आप निर्दिष्ट नहीं करते हैं, तो आर इसके विपरीत अधिक उदार दृष्टिकोण के लिए चूकता है।

2
टाइप III एसएस में रुचि क्यों?
फ्रैंक हार्ले

4

यहाँ एक पूरक दस्तावेज़ीकरण http://goo.gl/yxUZ1R है @Butorovich द्वारा सुझाई गई प्रक्रिया है। इसके अलावा, मेरा अवलोकन यह है कि जब कोवरिएट द्विआधारी होता है, तो सारांश (lm.object) का उपयोग करते हुए एनोवा (lm.object, प्रकार = "III") द्वारा उत्पन्न समान IV अनुमान देगा।


1
यह स्पष्ट नहीं है कि यह एक उत्तर माना जाता है। क्या यह? यदि हां, तो कृपया स्पष्ट करने के लिए संपादित करें। यदि यह एक सवाल है, तो कृपया ASK QUESTIONशीर्ष पर क्लिक करके पूछें और वहां पूछें। तब हम आपकी उचित सहायता कर सकते हैं।
गूँग - मोनिका

माना। संदेश को पिछले (एक) पूरक के रूप में संशोधित किया गया है।
XX

3

हम प्रतिगमन विश्लेषण का उपयोग उन मॉडलों को बनाने के लिए करते हैं जो प्रतिक्रिया चर पर भविष्यवक्ता चर में भिन्नता के प्रभाव का वर्णन करते हैं। कभी-कभी यदि हमारे पास हां / नहीं या पुरुष / महिला आदि जैसे मूल्यों के साथ एक श्रेणीबद्ध चर है, तो साधारण प्रतिगमन विश्लेषण, श्रेणीगत चर के प्रत्येक मूल्य के लिए कई परिणाम देते हैं। इस तरह के परिदृश्य में, हम पूर्वानुमेय चर के साथ-साथ इसका उपयोग करके श्रेणीगत चर के प्रभाव का अध्ययन कर सकते हैं और श्रेणीगत चर के प्रत्येक स्तर के लिए प्रतिगमन लाइनों की तुलना कर सकते हैं। इस तरह के विश्लेषण को कोवरियन के विश्लेषण के रूप में भी जाना जाता है जिसे एएनसीओवीए भी कहा जाता है।

उदाहरण अंतर्निहित डेटा सेट
पर विचार करें । इसमें हम मानते हैं कि क्षेत्र ट्रांसमिशन (ऑटो या मैनुअल) के प्रकार का प्रतिनिधित्व करता है। यह 0 और 1. मानों वाला एक श्रेणीगत चर है। कार के प्रति गैलन मूल्य ( ) का मान उस पर भी निर्भर कर सकता है, इसके अलावा घोड़े की शक्ति ( ) का मूल्य भी । हम और के बीच प्रतिगमन पर मूल्य के प्रभाव का अध्ययन करते हैं । यह फ़ंक्शन का उपयोग करके और उसके बाद किया जाता हैRmtcarsammpghpammpghpaov()anova() कई रजिस्टरों की तुलना करने के लिए ।

इनपुट डेटा
एक डेटा फ्रेम बनाएं जिसमें फ़ील्ड हों mpg, hpऔर amडेटा सेट से mtcars। यहां हम mpgप्रतिसाद चर के hpरूप में और amश्रेणीबद्ध चर के रूप में प्रतिक्रिया चर के रूप में लेते हैं ।

input <- mtcars[,c("am","mpg","hp")]
head(input)

जब हम उपरोक्त कोड निष्पादित करते हैं, तो यह निम्नलिखित परिणाम उत्पन्न करता है:

                  am  mpg  hp
Mazda RX4          1 21.0 110
Mazda RX4 Wag      1 21.0 110
Datsun 710         1 22.8  93
Hornet 4 Drive     0 21.4 110
Hornet Sportabout  0 18.7 175
Valiant            0 18.1 105

ANCOVA विश्लेषण
हम एक प्रतिगमन मॉडल लेने बनाने के hpभविष्यवक्ता चर के रूप में और mpgप्रतिक्रिया चर के बीच बातचीत को ध्यान में रखते रूप में amऔर hp

श्रेणीगत चर और भविष्य कहनेवाला चर के बीच बातचीत के साथ मॉडल

प्रतिगमन मॉडल बनाएं 1

result1 <- aov(mpg~hp*am,data=mtcars)
summary(result1)

जब हम उपरोक्त कोड निष्पादित करते हैं, तो यह निम्नलिखित परिणाम उत्पन्न करता है:

            Df Sum Sq Mean Sq F value   Pr(>F)    
hp           1  678.4   678.4  77.391 1.50e-09 ***
am           1  202.2   202.2  23.072 4.75e-05 ***
hp:am        1    0.0     0.0   0.001    0.981    
Residuals   28  245.4     8.8                     
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1

इस परिणाम से पता चलता है कि घोड़े की शक्ति और ट्रांसमिशन दोनों प्रकार का मील प्रति गैलन पर महत्वपूर्ण प्रभाव पड़ता है क्योंकि दोनों मामलों में पी-मूल्य 0.05 से कम है। लेकिन इन दोनों चरों के बीच की बातचीत महत्वपूर्ण नहीं है क्योंकि पी-वैल्यू 0.05 से अधिक है।

श्रेणीगत चर और भविष्य कहनेवाला चर के बीच बातचीत के बिना मॉडल

प्रतिगमन मॉडल 2 बनाएं

result2 <- aov(mpg~hp+am,data=mtcars)
summary(result2)

जब हम उपरोक्त कोड निष्पादित करते हैं, तो यह निम्नलिखित परिणाम उत्पन्न करता है:

            Df Sum Sq Mean Sq F value   Pr(>F)    
hp           1  678.4   678.4   80.15 7.63e-10 ***
am           1  202.2   202.2   23.89 3.46e-05 ***
Residuals   29  245.4     8.5                     
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1

इस परिणाम से पता चलता है कि घोड़े की शक्ति और ट्रांसमिशन दोनों प्रकार का मील प्रति गैलन पर महत्वपूर्ण प्रभाव पड़ता है क्योंकि दोनों मामलों में पी-मूल्य 0.05 से कम है।

दो मॉडलों की तुलना
अब हम दो मॉडलों की तुलना यह निष्कर्ष निकालने के लिए कर सकते हैं कि क्या चर की बातचीत वास्तव में महत्वहीन है। इसके लिए हम anova()फंक्शन का उपयोग करते हैं।

 anova(result1,result2)

 Model 1: mpg ~ hp * am
 Model 2: mpg ~ hp + am
   Res.Df    RSS Df  Sum of Sq     F Pr(>F)
 1     28 245.43                           
 2     29 245.44 -1 -0.0052515 6e-04 0.9806

जैसा कि पी-मान 0.05 से अधिक है, हम निष्कर्ष निकालते हैं कि घोड़े की शक्ति और ट्रांसमिशन प्रकार के बीच बातचीत महत्वपूर्ण नहीं है। तो प्रति गैलन माइलेज ऑटो और मैनुअल ट्रांसमिशन मोड में कार की हॉर्स पावर पर समान तरीके से निर्भर करेगा।


तो जो पहले आया था, यह उत्तर या ट्यूटोरियल बिंदु पर यह पोस्ट? tutorialspoint.com/r/r_analysis_of_covariance.htm । क्या इस जवाब को साहित्यिक चोरी के रूप में हटाया जाना चाहिए? या ट्यूटोरियल बस यहाँ से कॉपी किया था?
जॉन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.