R'de ANCOVA nasıl yapılır


17

Bitki epifitlerinin yoğunluğuna ilişkin verilerin ANCOVA analizini yapmak istiyorum. İlk başta, biri N ve bir S olmak üzere iki eğim arasında bitki yoğunluğunda herhangi bir fark olup olmadığını bilmek isterim, ancak yükseklik, gölgelik açıklığı ve konakçı bitkinin yüksekliği gibi başka verilerim var. Değişkenimin iki eğim (N ve S) olması gerektiğini biliyorum. R'de çalışan bu modeli inşa ettim ve iyi performans gösterip göstermediğine dair hiçbir fikrim yok. Ayrıca +veya simgesini kullanırsam farkın ne olduğunu bilmek isterim *.

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

3
+ yalnızca ana efektleri hesaplar *, * ile bağlantılı faktörler arasındaki etkileşimi tahmin eder. ANCOVA çerçeveleri genellikle sürekli faktörün sadece ana etkisini, ancak tüm gruplandırılmış faktörler arasındaki etkileşimleri tahmin eder.
Mart'ta russellpierce

Yanıtlar:


14

Bunun için temel araç lm; aovbir sarıcı olduğunu unutmayın lm.

Eğer, bir gruplandırma değişken faktör () sahip, özellikle, g , ve sürekli bir kovaryat x , model y ~ x + gise, bir ana etkileri ANCOVA modeli uyabilecek y ~ x * gortak değişken ile etkileşimi içeren bir model uygun olacaktır. aovaynı formülleri alacaktır.

Özellikle dikkat edin Noteüzerine yardım aov.

Gelince +vs *, russellpierce hemen hemen kapakları o ama sana bakmak öneriyoruz ?lmve ?formulaen başta manuel 11.1 bölümünün R An Introduction nasıl çözemedim if (veya çevrimiçi bulabilirsiniz Ar ile geliyor Bilgisayarınızda bulmak için, en kolay şekilde, R veya RStudio'da "Yardım" açılır menüsünü bulmayı içerir).


g1,g2x1,x2
yij=μ+αi+ηj+xij1γ1+xij2γ2+ϵij
Does y~g_1+g_2+x_1+x_2 does the same trick? Do the F values obtained against x_1 and x_2 test γ1=0 and mı? γ2=0
Sayan

Bunu nasıl özlediğimden emin değilim. Evet. .... ve her ikisini de bir kerede test etmek istiyorsanız, hem bunlarla hem de onsuz takın ve takılı lm nesnelerini geçirin anova(yakında yanlış sıraya verip vermeyeceğinizi göreceksiniz, çünkü bazı SS negatif olur )
Glen_b-Monica

10

Sahaya Göre R kullanarak İstatistikleri Keşfetme ve okumanızı öneririm . ANCOVA'da güzel bir bölümü var.

ANCOVA'yı R'de çalıştırmak için aşağıdaki paketleri yükleyin:

car
compute.es
effects
ggplot2
multcomp
pastecs
WRS

Kullanıyorsanız lmveya aov(kullanıyorum aov), kontrastları "kontrast" işlevini kullanarak aovveyalm . R, varsayılan olarak, ANCOVA'daki her şeyi karıştırabilecek dikey olmayan kontrastlar kullanır. Dik kontrastlar ayarlamak istiyorsanız şunu kullanın:

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

sonra modelinizi şu şekilde çalıştırın:

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

Modeli kullanmak için:

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

AnovaBurada "A" harfini kullandığınızdan emin olun.anova . Bu tip III SS kullanarak sonuçlar verecektir.

summary.lm(model.1)başka bir özet verecek ve R-sq. çıktı.

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

Regresyon eğimlerinin homojenliğini test etmek istiyorsanız, IV ve ortak değişken için bir etkileşim terimi de ekleyebilirsiniz. Olurdu:

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

Etkileşim terimi önemliyse, homojenliğiniz yoktur.


Dikey olmayan kontrastlar neden her şeyi karıştırıyor?
tintinthong

1
Yukarıdaki "dikey olmayan kontrastlar neden her şeyi karıştırıyor" sorusunu cevaplamak için. Yanıt, R'nin her bir IV'ün katkısını ayrı ayrı görmek istiyorsanız sorunlara neden olabilecek dikey olmayan (yani ortalamalar arasındaki fark) olarak ayarlanmış olmasıdır. Dik kontrastları belirlediğimizde, R'ye IV'ler için SS'nin tamamen bölümlenmesini ve örtüşmemesini istediğimizi söyleriz. Bu şekilde her bir yordayıcıya atfedilen varyasyonu temiz ve net bir şekilde görebiliriz. Belirtmezseniz, R varsayılan olarak karşıtlığa daha liberal bir yaklaşım getirir.

2
Neden tip III SS'ye ilgi?
Frank Harrell

4

Here is a complementary documentation http://goo.gl/yxUZ1R of the procedure suggested by @Butorovich. In addition, my observation is that when the covariate is binary, using summary(lm.object) would give same IV estimate as generate by Anova(lm.object, type="III").


1
Bunun bir cevap olması gerektiği açık değil. Bu mu? Öyleyse, açıklığa kavuşturmak için lütfen düzenleyin. Bu bir soru ise, lütfenASK QUESTION at the top & asking it there. Then we can help you properly.
gung - Reinstate Monica

Agreed. The message has been revised as an (complementary) answer to the previous one.
X.X

3

We use Regression analysis to create models which describe the effect of variation in predictor variables on the response variable. Sometimes if we have a categorical variable with values like Yes/No or Male/Female etc. the simple regression analysis give multiple results for each value of the categorical variable. In such scenario, we can study the effect of the categorical variable by using it along with the predictor variable and comparing the regression lines for each level of the categorical variable. Such an analysis is termed as Analysis of Covariance also called as ANCOVA.

Example
Consider the R built-in data set mtcars. In it we observer that the field am represents the type of transmission (auto or manual). It is a categorical variable with values 0 and 1. The miles per gallon value (mpg) of a car can also depend on it besides the value of horse power (hp). We study the effect of the value of am on the regression between mpg and hp. It is done by using the aov() function followed by the anova() function to compare the multiple regressions.

Input Data
Create a data frame containing the fields mpg, hp and am from the data set mtcars. Here we take mpg as the response variable, hp as the predictor variable and am as the categorical variable.

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

Yukarıdaki kodu yürüttüğümüzde aşağıdaki sonucu üretir:

                  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 Analizi
Bir regresyon modeli alma oluşturmak hptahmin değişkeni gibi mpgarasında dikkate etkileşimi alarak yanıt değişkeni olarak amve hp.

Kategorik değişken ve yordayıcı değişken arasındaki etkileşimli model

Regresyon modeli oluştur1

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

Yukarıdaki kodu yürüttüğümüzde aşağıdaki sonucu üretir:

            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

Bu sonuç, her iki durumda da p değeri 0,05'ten az olduğu için, hem beygir gücü hem de iletim türünün galon başına mil üzerinde önemli bir etkiye sahip olduğunu göstermektedir. Ancak bu iki değişken arasındaki etkileşim, p değeri 0,05'ten fazla olduğu için önemli değildir.

Kategorik değişken ile yordayıcı değişken arasında etkileşim olmayan model

Regresyon modelini oluşturma2

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

Yukarıdaki kodu yürüttüğümüzde aşağıdaki sonucu üretir:

            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

Bu sonuç, her iki durumda da p değeri 0,05'ten az olduğu için, hem beygir gücü hem de iletim türünün galon başına mil üzerinde önemli bir etkiye sahip olduğunu göstermektedir.

İki modeli karşılaştırma
Şimdi değişkenlerin etkileşiminin gerçekten önemsiz olup olmadığı sonucuna varmak için iki modeli karşılaştırabiliriz. Bunun için anova()fonksiyonu kullanıyoruz.

 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

P-değeri 0.05'ten büyük olduğu için, beygir gücü ile iletim tipi arasındaki etkileşimin anlamlı olmadığı sonucuna varıyoruz. Bu nedenle galon başına kilometre benzer şekilde hem otomatik hem de manuel şanzıman modunda otomobilin beygir gücüne bağlı olacaktır.


İlk önce hangisi geldi, bu cevap veya öğreticilerdeki bu yazı işaret ediyor? tutorialspoint.com/r/r_analysis_of_covariance.htm . Bu cevap intihal olarak silinmeli mi? Yoksa öğreticiler sadece buradan kopya mı gösteriyor?
John
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.