2016-05-27 8 views
-3

Ich möchte eine Zwei-Wege-ANOVA auf meine Daten ausführen. Ich habe zwei Faktoren (nennen Sie sie A und B) und dann zwei Ebenen innerhalb jedes Faktors (nennen Sie sie A.1 und A.2 und B.1 und B.2). Ich habe 4 Vektoren von numerischen Daten, von denen einer A.1, A.2, B.1 und B.2 entspricht. Was ist der schnellste Weg, um diese Vektoren in einen Datenrahmen zu bekommen, so dass ich eine Zwei-Wege-ANOVA ausführen kann? Gibt es eine Funktion in plyr, um mir dabei zu helfen? Vielen Dank.Konvertieren von Vektoren in einen Datenrahmen für ANOVA

+0

Ohne einige Beispieldaten zu sehen, ist es schwierig, eine aussagekräftige Anleitung bereitzustellen. Am einfachsten war es, die Vektoren zusammen zu binden. – Dave2e

Antwort

0

Ich habe den Datenrahmen von Grund auf neu erstellt, Sie sollten die Vektoren mit Ihren Daten füllen. Um die ANOVA ausführen zu können, müssen die Faktoren und Ebenen in verschiedenen Spalten in Ihrem Datenrahmen angegeben sein, hier werden sie 'fac' und 'lev' genannt.

va1 <- c( 1, 2, 3, 4) 
va2 <- c(-4, -3, -2, -1) 
vb1 <- c( 9, 10, 11, 12) 
vb2 <- c(-9,-10,-11,-12) 

fac <- c(rep("A", 8), rep("B", 8)) 
lev <- c(rep("1", 4), rep("2", 4), rep("1", 4), rep("2", 4)) 
val <- c(va1, va2, vb1, vb2) 

df  <- as.data.frame(cbind(fac,lev,val)) 
df$val <- as.numeric(df$val) 

anova(lm(val ~ fac * lev, df)) 
+0

Ich denke, das funktioniert, obwohl es nicht gerade glatt ist. Es ist mehr oder weniger was ich getan habe. – Tbar

Verwandte Themen