[R-es] Optimizar función
Álvaro Hernández
alvarohv en um.es
Sab Feb 10 17:41:00 CET 2018
Hola, Andrés:
Con dplyr tienes todas las variantes de 'summarise' para hacer lo que
dices. Por ejemplo, puedes elegir en qué variables quieres aplicarlo con
'summarise_at' o definir una condición con 'summarise_if'.
* Para aplicar las funciones que definas sobre esas tres variables:
datos %>%
group_by(distrito) %>%
summarise_at(vars(Aporte, Ingreso, Edad),
funs(media = mean, maximo = max, minimo = min, desvio = sd))
* Para aplicar esas funciones sobre todas las variables numéricas que
tengas:
datos %>%
group_by(distrito) %>%
summarise_if(is.numeric,
funs(media = mean, maximo = max, minimo = min, desvio = sd))
Un saludo
Álvaro
El 10/02/18 a las 17:09, Andrés Hirigoyen escribió:
> Buenas para tod en s, tengo una consulta para poder optimizar tiempos. Ejemplo
> tengo el siguiente dataframe:
>
> distrito<-c("A","A","A","B","B","B","C","C","C","A","A","B","B","C")
> Sex<-c("M","F","M","F","M","F","M","F","M","F","M","F","M","F")
> Edad<-c(25,36,25,25,25,19,36,39,36,65,54,25,28,28)
> Ingreso<-c(125,365,265,987,690,369,325,369,789,854,254,268,698,258)
> Aporte <- c(3,6,3,6,9,6,9,7,9,7,4,8,2,8)
> datos<-data.frame(distrito=distrito,Sex=Sex,Edad=Edad,Ingreso=Ingreso,Aporte=Aporte)
>
> Quiero aplicar la function *summarise *del paquete *dplyr *a las 3
> variables númericas.
> Para la variable Aporte por ejemplo:
>
> descrip<-function(data) {
> grupos <- group_by(data, distrito)
> result <-
> summarise(grupos,
> media = mean(Aporte),
> maximo = max(Aporte),
> minimo = min(Aporte),
> desvio= sd(Aporte)
> )
> return(result)
> }
>
> Pero me gustaría automatizarla para que corra para todas las variables del
> dataframe (3 en este caso pero van a ser mas de 23).
> Sugerencias???
>
> Muchas gracias
> --
>
> [[alternative HTML version deleted]]
>
> _______________________________________________
> R-help-es mailing list
> R-help-es en r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es
Más información sobre la lista de distribución R-help-es