Data Frame summieren

For(), If(), While() und Verwandte. Diskussion von programmiertechnischen Fragen.

Data Frame summieren

Beitragvon cewa » Fr 15. Feb 2013, 10:03

Hallo liebe Community,

ich bin neu hier und hoffe, dass ich meine Frage im richtigen Themenblock stelle. Leider habe ich auch noch nicht wirklich viel Erfahrung mit R. Hier meine Frage:

Ich habe einen DataFrame der Folgendermaßen Strukturiert ist

Nr Faktor Messwert1 Messwert2 Messwert3
1 Grün 5 3 2
2 Grün 4 1 2
3 Grün 1 1 3
4 Rot 2 3 4
5 Rot 1 3 1
6 Blau 2 4 5
7 Blau 2 3 3


Ich würde nun gerne aus diesem Data Frame einen neuen generieren, der mir, je nach Faktor die Summen der einzelnen Messwerte wiedergibt, d.h. mein Zielframe wäre:


Nr Faktor Messwert1 Messwert2 Messwert3
1 Grün 10 5 7
2 Rot 3 6 5
3 Blau 4 7 8

Hat jemand eine Idee wie der Code aussehen könnte. Ich kam bissher nur auf die tapply function, die aber für mich leider nur für jeweils einen messwert funktioniert.

Vielen Dank
David
cewa
 
Beiträge: 1
Registriert: Do 14. Feb 2013, 21:38
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Data Frame summieren

Beitragvon STATWORX » Fr 15. Feb 2013, 14:08

Hallo,

hierfür verwendet man den Befehl aggregate()

Code: Alles auswählen
# Beispieldaten
f <- as.factor(rep(c("grün", "rot", "blau"), 10, each=TRUE))
x <- matrix(nrow=30, ncol=3, data=sample(1:10,90,replace=TRUE))
data <- as.data.frame(x)
data$f <- f
colnames(data) <- c("x1","x2","x3","f")

# Aggregierung
aggrData <- aggregate(x=data[,1:3],by=list(data$f),FUN=sum)


VG
STATWORX
STATWORX
Administrator
 
Beiträge: 283
Registriert: So 25. Sep 2011, 16:17
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post


Zurück zu Programmierkonzepte

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast