Vreau să realizez o analiză ANCOVA a datelor privind densitatea epifitelor plantelor. La început, aș vrea să știu dacă există vreo diferență în densitatea plantelor între două versanți, unul N și unul S, dar am alte date, cum ar fi altitudinea, deschiderea baldachinului și înălțimea plantei gazdă. Știu că covariata mea ar trebui să fie cele două pante (N și S). Am construit acest model care rulează în R și, deși nu am idee dacă funcționează bine. De asemenea, aș dori să știu care este diferența dacă folosesc simbolul + sau *.

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

Comentarii

  • + va calcula numai efectele principale, * va estima interacțiunile dintre factorii conectați la *. Cadrele ANCOVA estimează de obicei doar un efect principal al factorului continuu, dar interacțiunile dintre toți factorii grupați.

Răspuns

Instrumentul de bază pentru aceasta este lm; rețineți că aov este un wrapper pentru lm.

În special, dacă aveți o variabilă de grupare (factor), $ g $ și o covariabilă continuă $ x $ , modelul y ~ x + g s-ar potrivi cu un model ANCOVA cu efecte principale, în timp ce y ~ x * g s-ar potrivi cu un model care include interacțiunea cu covariata. aov va lua aceleași formule.

Acordați o atenție deosebită Note în ajutorul de pe aov.

În ceea ce privește + vs *, russellpierce îl acoperă destul de mult, dar ți-aș recomanda să te uiți la ?lm și ?formula și mai ales la secțiunea 11.1 din manualul O introducere în R care vine cu R (sau îl puteți găsi online dacă nu ați aflat cum să îl găsiți pe computer; cel mai ușor, aceasta implică găsirea meniul derulant „Ajutor” în R sau RStudio).

Comentarii

  • să presupunem că am doi factori de grup $ g_1, g_2 $ și două covariate $ x_1, x_2 $, cu modelul meu fiind $$ y_ {ij} = \ mu + \ alpha_i + \ eta_j + x_ {ij1} \ gamma_1 + x_ {ij2} \ gamma_2 + \ epsilon_ {ij} $$ Are y ~ g_1 + g_2 + x_1 + x_2 face același truc? Valorile F obținute împotriva x_1 și x_2 testează $ \ gamma_1 = 0 $, respectiv $ \ gamma_2 = 0 $?
  • Nu sunt sigur cum am ratat acest lucru. Da. …. și dacă doriți să testați ambele simultan, potriviți-le atât cu cât și fără ele și treceți obiectele lm montate la anova (dvs. ‘ Vom vedea în curând dacă le dați în ordinea greșită, deoarece unele SS vor fi negative dacă faceți acest lucru)

Răspuns

Vă recomand să obțineți și să citiți Descoperirea statisticilor folosind R după câmp. Are o secțiune frumoasă despre ANCOVA.

Pentru a rula ANCOVA în R încărcați următoarele pachete:

car compute.es effects ggplot2 multcomp pastecs WRS 

Dacă utilizați lm sau aov (folosesc aov) asigurați-vă că setați contrastele folosind „contrastele” „funcție înainte de a face fie aov, fie lm. R folosește în mod implicit contraste neortogonale, care pot încurca totul într-un ANCOVA. Dacă doriți să setați contraste ortogonale utilizați:

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

atunci rulați modelul ca

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

Pentru a vizualiza modelul, utilizați:

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

Asigurați-vă că utilizați capitalul „A” Anova aici și nu anova. Acest lucru va da rezultate folosind SS de tip III.

summary.lm(model.1) va oferi un alt rezumat și include R-sq. ieșire.

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

Dacă doriți să testați omogenitatea pantelor de regresie, puteți include și un termen de interacțiune pentru IV și covariabil. Aceasta ar fi:

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

Dacă termenul de interacțiune este semnificativ, atunci nu aveți omogenitate.

Comentarii

  • De ce contrastele non-ortogonale încurcă totul?
  • Pentru a răspunde la întrebarea de mai sus despre ” de ce contrastele non-ortogonali încurcă totul în sus „. Răspunsul este că R implicit este non-ortogonal (adică diferența dintre medii) care poate cauza probleme dacă doriți să vedeți contribuția fiecărui IV separat. Când specificăm contrastele ortogonale, îi spunem lui R că vrem ca SS-urile pentru diviziunile IV ‘ să fie complet partiționate și să nu se suprapună. În acest fel putem vedea variația atribuită fiecărui predictor în mod clar și clar. Dacă nu specificați, R se implică într-o abordare mai liberală a contrastului.
  • De ce interesul pentru SS de tip III?

Răspuns

Iată o documentație complementară http://goo.gl/yxUZ1R a procedurii sugerate de @Butorovich. În plus, observația mea este că atunci când covariata este binară, utilizarea sumarului (lm.object) ar da aceeași estimare IV ca și cea generată de Anova (lm.object, tip = „III”).

Comentarii

  • Nu este clar ‘ că este clar că se presupune că acesta este un răspuns. Este? Dacă da, vă rugăm să editați pentru a clarifica. Dacă este o întrebare, vă rugăm să întrebați făcând clic pe ASK QUESTION din partea de sus & întrebându-l acolo. Apoi vă putem ajuta în mod corespunzător.
  • De acord. Mesajul a fost revizuit ca răspuns (complementar) la cel anterior.

Răspuns

Folosim Regresie analiza pentru a crea modele care descriu efectul variației variabilelor predictive asupra variabilei de răspuns. Uneori, dacă avem o variabilă categorică cu valori precum Da / Nu sau Bărbat / Femeie etc. analiza simplă de regresie oferă rezultate multiple pentru fiecare valoare a variabilei categorice. Într-un astfel de scenariu, putem studia efectul variabilei categorice utilizând-o împreună cu variabila predictor și comparând liniile de regresie pentru fiecare nivel al variabilei categorice. O astfel de analiză este denumită Analiza Covarianței, numită și ANCOVA.

Exemplu
Luați în considerare datele încorporate R set mtcars. În el observăm că câmpul am reprezintă tipul de transmisie (automată sau manuală). Este o variabilă categorică cu valorile 0 și 1. Mile per galon (mpg) ale unei mașini pot depinde de ea, pe lângă valoarea puterii de cai (hp). Studiem efectul valorii am asupra regresiei dintre mpg și hp. Se face utilizând funcția aov() urmată de funcția anova() pentru a compara multiplele regresii.

Date de intrare
Creați un cadru de date care conține câmpurile mpg, hp și am din setul de date mtcars. Aici luăm mpg ca variabilă de răspuns, hp ca variabilă predictor și am ca variabila categorică.

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

Când executăm codul de mai sus, produce următorul rezultat:

 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 

Analiza ANCOVA
Creăm un model de regresie luând hp ca variabilă predictor și mpg ca variabilă de răspuns, luând în considerare interacțiunea dintre am și hp.

Model cu interacțiunea dintre variabila categorică și predictor variable

Create regression model1

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

Când executăm codul de mai sus, produce următorul rezultat:

 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 

Acest rezultat arată că atât puterea calului, cât și tipul de transmisie au un efect semnificativ asupra milei pe galon, deoarece valoarea p în ambele cazuri este mai mică de 0,05. Dar interacțiunea dintre aceste două variabile nu este semnificativă, deoarece valoarea p este mai mare de 0,05.

Model fără interacțiune între variabila categorică și variabila predictor

Creați modelul de regresie2

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

Când executăm codul de mai sus, produce următorul rezultat:

 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 

Acest rezultat arată că atât puterea calului, cât și tipul de transmisie au un efect semnificativ asupra milei pe galon, deoarece valoarea p în ambele cazuri este mai mică de 0,05.

Compararea a două modele
Acum putem compara cele două modele pentru a concluziona dacă interacțiunea variabilelor este cu adevărat nesemnificativă. Pentru aceasta folosim funcția 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 

Deoarece valoarea p este mai mare de 0,05, concluzionăm că interacțiunea dintre puterea calului și tipul de transmisie nu este semnificativă. Deci, kilometrajul pe galon va depinde într-o manieră similară de puterea calului mașinii atât în modul de transmisie automată, cât și în cea manuală.

Comentarii

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *