इन कस्टम विरोधाभासों की व्याख्या कैसे करें?


10

मैं कस्टम विरोधाभासों के साथ एक तरह से एनोवा (प्रति प्रजाति) कर रहा हूं।

     [,1] [,2] [,3] [,4]
0.5    -1    0    0    0
5       1   -1    0    0
12.5    0    1   -1    0
25      0    0    1   -1
50      0    0    0    1

जहाँ मैं 5 की तीव्रता 0.5 की तुलना में 5 की तुलना में 12.5 के विरुद्ध करता हूँ। यह वह डेटा है जिस पर मैं काम कर रहा हूं

यहां छवि विवरण दर्ज करें

निम्नलिखित परिणामों के साथ

Generalized least squares fit by REML
  Model: dark ~ intensity 
  Data: skofijski.diurnal[skofijski.diurnal$species == "niphargus", ] 
       AIC      BIC    logLik
  63.41333 67.66163 -25.70667

Coefficients:
            Value Std.Error  t-value p-value
(Intercept) 16.95 0.2140872 79.17334  0.0000
intensity1   2.20 0.4281744  5.13809  0.0001
intensity2   1.40 0.5244044  2.66970  0.0175
intensity3   2.10 0.5244044  4.00454  0.0011
intensity4   1.80 0.4281744  4.20389  0.0008

 Correlation: 
           (Intr) intns1 intns2 intns3
intensity1 0.000                      
intensity2 0.000  0.612               
intensity3 0.000  0.408  0.667        
intensity4 0.000  0.250  0.408  0.612 

Standardized residuals:
       Min         Q1        Med         Q3        Max 
-2.3500484 -0.7833495  0.2611165  0.7833495  1.3055824 

Residual standard error: 0.9574271 
Degrees of freedom: 20 total; 15 residual

16.95 "निफ़र्गस" का वैश्विक मतलब है। गहनता 1 में, मैं 5 के मुकाबले 0.5 की तीव्रता के साधनों की तुलना कर रहा हूं।

अगर मुझे यह सही समझ में आता है, तो 2.2 की तीव्रता 1 के गुणांक की तीव्रता के स्तर 0.5 और 5. के बीच का आधा अंतर होना चाहिए। हालांकि, मेरे हाथ की गणना सारांशों से मेल नहीं खाती है। क्या मैं गलत कर रहा हूँ में कोई भी चीप कर सकता है?

ce1 <- skofijski.diurnal$intensity
levels(ce1) <- c("0.5", "5", "0", "0", "0")
ce1 <- as.factor(as.character(ce1))
tapply(skofijski.diurnal$dark, ce1, mean)
       0    0.5      5 
  14.500 11.875 13.000 
diff(tapply(skofijski.diurnal$dark, ce1, mean))/2
      0.5       5 
  -1.3125  0.5625 

क्या आप आर से एलएम () फ़ंक्शन प्रदान कर सकते हैं जिसका आप अनुमान लगाते थे। आपने विरोधाभास फ़ंक्शन का उपयोग कैसे किया?
फिलिप

btw geom_points(position=position_dodge(width=0.75))जिस तरह से आपके प्लॉट में पॉइंट्स को बॉक्स के साथ लाइन नहीं करेगा, ठीक करेगा।
मक्खियों

@ मेरे प्रश्न के बाद से, वहाँ एक परिचय दिया गया है geom_jitter, जो कि सभी जियोम_ पॉइंट () मापदंडों के लिए एक शॉर्टकट है जो घबराना है।
रोमन लुसट्रिक

मैं वहाँ घबराना ध्यान नहीं दिया। geom_jitter(position_dodge)काम करता है ? मैं geom_points(position_jitterdodge)dodging के साथ बॉक्सप्लॉट्स में डॉट्स जोड़ने का उपयोग कर रहा हूं ।
मक्खियों

@flies geom_jitter यहाँ के लिए डॉक्स देखते हैं । मेरे उपरोक्त उत्तर के बाद से मेरे अनुभव में, मुझे बॉक्सप्लेट्स का उपयोग करना अनावश्यक लगता है। कभी। यदि मेरे पास कई बिंदु हैं, तो मैं वायलिन भूखंडों का उपयोग करता हूं जो बॉक्सप्लाट्स की तुलना में बहुत बारीक विवरणों में बिंदुओं का घनत्व दिखाते हैं। कई बिंदुओं पर साजिश रचने या उनके घनत्व के सुविधाजनक नहीं होने पर बॉक्सप्लेट का आविष्कार किया गया था। शायद यह समय है कि हम इस (विकलांग) दृश्य को छोड़ने की सोचें।
रोमन लुसट्रिक

जवाबों:


10

विरोधाभासों के लिए आपके द्वारा निर्दिष्ट मैट्रिक्स सिद्धांत रूप में सही है। इसे एक उपयुक्त कंट्रास्ट मैट्रिक्स में बदलने के लिए , आपको अपने मूल मैट्रिक्स के सामान्यीकृत व्युत्क्रम की गणना करने की आवश्यकता है।

यदि Mआपका मैट्रिक्स है:

M

#     [,1] [,2] [,3] [,4]
#0.5    -1    0    0    0
#5       1   -1    0    0
#12.5    0    1   -1    0
#25      0    0    1   -1
#50      0    0    0    1 

अब, सामान्यीकृत उलटा का उपयोग करके गणना करें ginvऔर परिणाम का उपयोग करके स्थानांतरित करें t:

library(MASS)
t(ginv(M))

#     [,1] [,2] [,3] [,4]
#[1,] -0.8 -0.6 -0.4 -0.2
#[2,]  0.2 -0.6 -0.4 -0.2
#[3,]  0.2  0.4 -0.4 -0.2
#[4,]  0.2  0.4  0.6 -0.2
#[5,]  0.2  0.4  0.6  0.8

परिणाम @Greg हिमपात के समान है। अपने विश्लेषण के लिए इस मैट्रिक्स का उपयोग करें।

यह मैन्युअल रूप से करने की तुलना में बहुत आसान तरीका है।


स्लाइडिंग अंतर (उर्फ दोहराया विरोधाभासों ) का एक मैट्रिक्स उत्पन्न करने का एक आसान तरीका है । यह contr.sdifएक पैरामीटर के रूप में फ़ंक्शन और कारक स्तरों की संख्या के साथ किया जा सकता है । यदि आपके उदाहरण में पाँच कारक स्तर हैं, जैसे:

library(MASS)
contr.sdif(5)

#   2-1  3-2  4-3  5-4
#1 -0.8 -0.6 -0.4 -0.2
#2  0.2 -0.6 -0.4 -0.2
#3  0.2  0.4 -0.4 -0.2
#4  0.2  0.4  0.6 -0.2
#5  0.2  0.4  0.6  0.8

4

यदि शीर्ष पर मैट्रिक्स है कि आप डमी चरों को कैसे कूट रहे हैं (आप आर में कार्य कर रहे हैं Cया क्या कर रहे हैं contrast) तो वे पहले वाले की तुलना दूसरे स्तर पर कर रहे हैं (वास्तव में 0.8 बार 1 से 0.2 गुना घटाकर 0.2 बार दूसरों का योग)।

दूसरा कार्यकाल पहले 2 स्तरों की तुलना पिछले 3 से करता है। 3 अंतिम 3 में 1 3 स्तरों की तुलना करता है और 4 वें पिछले 4 स्तरों की तुलना पिछले एक से करता है।

यदि आप उन तुलनाओं को करना चाहते हैं, जिनका आप वर्णन करते हैं (प्रत्येक जोड़ी की तुलना करें) तो डमी चर एन्कोडिंग जो आप चाहते हैं:

      [,1] [,2] [,3] [,4]
[1,] -0.8 -0.6 -0.4 -0.2
[2,]  0.2 -0.6 -0.4 -0.2
[3,]  0.2  0.4 -0.4 -0.2
[4,]  0.2  0.4  0.6 -0.2
[5,]  0.2  0.4  0.6  0.8

aov()इसके बजाय का उपयोग करते समय इस सामान्यीकृत निष्क्रिय मैट्रिक्स का उपयोग भी आवश्यक है lm()? मैं पूछ रहा हूं, क्योंकि मैंने कई ट्यूटोरियल पढ़े हैं, जिसमें कंट्रास्ट मैट्रिक्‍स aov()का निर्माण रोमन द्वारा दिए गए तरीके से किया गया है। उदाहरण के लिए अध्याय 5 को क्रेन
project.org/

2
aovफ़ंक्शन को कॉल lmमुख्य संगणना करने के लिए है, तो इसके विपरीत मैट्रिक्स जैसी चीजों के दोनों में एक ही प्रभाव पड़ेगा कार्य करते हैं।
ग्रेग स्नो
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.