[R-es] Resumen de R-help-es, Vol 108, Envío 11

Andrés Hirigoyen andreshirigoyen en gmail.com
Dom Feb 11 12:51:28 CET 2018


Gracias, pruebo ambas opciones.
Un saludo

El 11 de febrero de 2018, 08:00, <r-help-es-request en r-project.org> escribió:

> Envíe los mensajes para la lista R-help-es a
>         r-help-es en r-project.org
>
> Para subscribirse o anular su subscripción a través de la WEB
>         https://stat.ethz.ch/mailman/listinfo/r-help-es
>
> O por correo electrónico, enviando un mensaje con el texto "help" en
> el asunto (subject) o en el cuerpo a:
>         r-help-es-request en r-project.org
>
> Puede contactar con el responsable de la lista escribiendo a:
>         r-help-es-owner en r-project.org
>
> Si responde a algún contenido de este mensaje, por favor, edite la
> linea del asunto (subject) para que el texto sea mas especifico que:
> "Re: Contents of R-help-es digest...". Además, por favor, incluya en
> la respuesta sólo aquellas partes del mensaje a las que está
> respondiendo.
>
>
> Asuntos del día:
>
>    1. Optimizar función (Andrés Hirigoyen)
>    2. Re: Optimizar función (Álvaro Hernández)
>    3. Re: Optimizar función (Carlos J. Gil Bellosta)
>
> ----------------------------------------------------------------------
>
> Message: 1
> Date: Sat, 10 Feb 2018 13:09:22 -0300
> From: Andrés Hirigoyen <andreshirigoyen en gmail.com>
> To: Lista R <r-help-es en r-project.org>
> Subject: [R-es] Optimizar función
> Message-ID:
>         <CAOaTypVGM+Tm-MUfvpOKdwR_r4WzKjVRVuNPQm5=j9T9YKoY=w@
> mail.gmail.com>
> Content-Type: text/plain; charset="utf-8"
>
> 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]]
>
>
>
>
> ------------------------------
>
> Message: 2
> Date: Sat, 10 Feb 2018 17:41:00 +0100
> From: Álvaro Hernández <alvarohv en um.es>
> To: r-help-es en r-project.org
> Subject: Re: [R-es] Optimizar función
> Message-ID: <a51968a0-11fa-0a0e-4651-70ae5057d652 en um.es>
> Content-Type: text/plain; charset="utf-8"; Format="flowed"
>
> 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
>
>
>
>
> ------------------------------
>
> Message: 3
> Date: Sat, 10 Feb 2018 19:21:10 +0000
> From: "Carlos J. Gil Bellosta" <cgb en datanalytics.com>
> To: Álvaro Hernández <alvarohv en um.es>
> Cc: r-help-es en r-project.org
> Subject: Re: [R-es] Optimizar función
> Message-ID:
>         <CADg83edj9XA-826TKF5d-mwuuRnNZOCz1mdrLu--RfcC5C027w@
> mail.gmail.com>
> Content-Type: text/plain; charset="utf-8"
>
> Hola, ¿qué tal?
>
> Puedes probar
>
> melt >> summarize >> dcast
>
> Así no tienes que teclear el nombre de las 23 variables numéricas.
>
> Un saludo,
>
> Carlos J. Gil Bellosta
> http://ww.datanalytics.com
>
> El sáb., 10 feb. 2018 a las 17:41, Álvaro Hernández (<alvarohv en um.es>)
> escribió:
>
> > 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
> >
> > _______________________________________________
> > R-help-es mailing list
> > R-help-es en r-project.org
> > https://stat.ethz.ch/mailman/listinfo/r-help-es
> >
>
>         [[alternative HTML version deleted]]
>
>
>
>
> ------------------------------
>
> Subject: Pié de página del digest
>
> _______________________________________________
> R-help-es mailing list
> R-help-es en r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es
>
>
> ------------------------------
>
> Fin de Resumen de R-help-es, Vol 108, Envío 11
> **********************************************
>



-- 
*Andrés Hirigoyen*
* Prof. Ciencias Biológicas*
*Ing. Agr. Forestal (MSc) *

*http://andreshirigoyen.com/web/ <http://andreshirigoyen.com/web/>*

	[[alternative HTML version deleted]]



Más información sobre la lista de distribución R-help-es