Ich habe einen Datenrahmen von Worthäufigkeiten, wie zum Beispiel:berechnen Proportionen gruppenweise von Datenrahmen
df <- data.frame(
Predictor = c("for","of","as","for","for","as","of","of","as","for"),
ToPredict = c("sure","course","much","him","keeps","far","them","this","an","petes"),
Freq = c(53,32,21,17,13,5,3,2,2,1))
ich eine neue Spalte berechnet werden soll, dass der Anteil ist, dass jeder ToPredict der einzelnen Prädiktoren bildet.
So, in dem obigen Beispiel die Werte für diese neue Spalte würden:
df$Props = c(0.631,0.865,0.75,0.202,0.155,0.179,0.081,0.054,0.071,0.012)
Im Moment habe ich einen Datenrahmen von Summen:
sums <- aggregate(df$Freq, by=list(Category=df$Predictor), FUN=sum)
und ich habe versucht:
df$Props <- with(df, Freq/sums$x[which(sums$Category == Predictor)])
Offensichtlich funktioniert das nicht. Aber ich weiß nicht was. Jede Hilfe wird sehr geschätzt.
ich einen schleichenden Verdacht habe ist dies eine doppelte Frage, aber 'mit (df, ave (Freq, Predictor, FUN = prop.table))' sollte TU es. – thelatemail
Mögliche doppelte Kandidaten, obwohl die Antworten nicht groß sind - http://stackoverflow.com/questions/15009011/calculate-proportions-within-subsets-of-a-data-frame und http://stackoverflow.com/questions/26885819/proportionale Mengenberechnung für eine Teilmenge des Datensatzes – thelatemail
Es ist durchaus möglich, dass dies der Fall ist. Allerdings konnte ich die Antwort nicht mit einigem Suchen finden. Deine Lösung funktioniert. Vielen Dank! – davo1979