Sto usando summarise_each di dplyr per applicare una funzione a più colonne di dati. Una cosa bella è che puoi applicare più funzioni contemporaneamente. Il fatto è che è fastidioso che l'output sia un dataframe con una singola riga. Sembra che dovrebbe restituire tante righe quante sono le funzioni, con tante colonne quante sono le colonne che sono state riepilogate.usa dplyr's summarise_each per restituire una riga per funzione?
library(dplyr)
default <-
iris %>%
summarise_each(funs(min, max), matches("Petal"))
restituisce
> default
Petal.Length_min Petal.Width_min Petal.Length_max Petal.Width_max
1 1 0.1 6.9 2.5
Preferirei qualcosa di simile
library(reshape2)
desired <-
iris %>%
select(matches("Petal")) %>%
melt() %>%
group_by(variable) %>%
summarize(min=min(value),max=max(value)) %>%
t()
che restituisce qualcosa di simile (non un dataframe, ma tutti voi ottiene l'idea)
> desired
[,1] [,2]
variable "Petal.Length" "Petal.Width"
min "1.0" "0.1"
max "6.9" "2.5"
c'è un'opzione in summari se_each per fare questo? Se no, Hadley, ti dispiacerebbe aggiungerla?
cool, e un po 'più breve (con valori predefiniti) 'gather%>% separate (chiave, c (" chiave "," stat "), sep =" _ ")%>% spread (chiave, valore)' – ckluss
@ckluss Bello, grazie. Sentiti libero di modificare la risposta per aggiornarlo. – dickoa
Molto bello. Mi dà una ragione per tuffarmi finalmente in tidyr. Grazie molto. –