Sto appena iniziando con ddply
e trovandolo molto utile. Voglio riassumere un frame di dati e anche eliminare alcune righe nell'output finale in base al fatto che la colonna di riepilogo abbia un valore particolare. Questo è come HAVING
e GROUP BY
in SQL. Ecco un esempio:Un modo per filtrare e riepilogare in ddply?
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]
Questo dà:
id meanMetric
1 1 40
2 2 80
che è quello che voglio, ma posso farlo in un unico passaggio all'interno della ddply
dichiarazione in qualche modo?
Se non sei già molto impegnato con 'plyr', allora potresti trarre beneficio dall'andare direttamente a' dplyr' che è la versione nuova e migliorata. – Ben
Assicurati di non averli entrambi caricati allo stesso tempo –