Ich fange gerade mit ddply
an und finde es sehr nützlich. Ich möchte einen Datenrahmen zusammenfassen und auch einige Zeilen in der endgültigen Ausgabe loswerden, abhängig davon, ob die zusammengefasste Spalte einen bestimmten Wert hat. Dies ist wie HAVING
sowie GROUP BY
in SQL. Hier ein Beispiel:Sie können sowohl filtern als auch in ddply zusammenfassen?
input = data.frame(id= c(1, 1, 2, 2, 3, 3),
metric= c(30,50,70,90,40,1050),
badness=c(1, 5, 7, 3, 3, 99))
intermediateoutput = ddply(input, ~ id, summarize,
meanMetric=mean(metric),
maxBadness=max(badness))
intermediateoutput[intermediateoutput$maxBadness < 50,1:2]
Das gibt:
id meanMetric
1 1 40
2 2 80
das ist, was ich will, aber kann ich es in einem einzigen Schritt in der ddply
Aussage irgendwie?
Wenn Sie sich nicht schon stark für 'plyr' engagieren, können Sie direkt von' dplyr' profitieren, welches die neue und verbesserte Version ist. – Ben
Stellen Sie sicher, dass Sie nicht beide gleichzeitig geladen haben. –