[R-es] Optimizar paste0()?

"Marcuzzi, Javier Rubén" javier.ruben.marcuzzi en gmail.com
Mar Dic 9 17:12:26 CET 2014


Jorge

Creo que la opción de Carlos Ortega es mejor, si no recuerdo mal una vez 
vi una demostración sobre bigdata en la cual data.table tenía una 
performance que sorprendía sobre otras alternativas.

Javier Marcuzzi


El 09/12/2014 a las 12:35 p.m., Carlos Ortega escibió:
> Hola,
>
> Otra forma, quizás algo más rápida, especialmente para unos conjuntos 
> tan grandes, que la de sqldf es "data.table":
>
> library(data.table)
> x <- 1:3
> y <- 4:6
> d <- data.table(x, y)
> d[,z := paste(x,"-",y,sep="")]
>
> > d
>    x y   z
> 1: 1 4 1-4
> 2: 2 5 2-5
> 3: 3 6 3-6
>
> Y bueno, "dplyr" también es otra opción muy rápida...
> También, y recuerdo que hace tiempo también lo llegamos a hablar, 
> existe la posibilidad de juntar las dos variables por fuera ejecutando 
> un comando en la shell del Sistema Operativo (supongo que es 
> Uniux/Linux)con "system()".
>
> Saludos,
> Carlos Ortega
> www.qualityexcellence.es <http://www.qualityexcellence.es>
>
> Saludos,
> Carlos Ortega
>
>
> El 9 de diciembre de 2014, 14:13, "Marcuzzi, Javier Rubén" 
> <javier.ruben.marcuzzi en gmail.com 
> <mailto:javier.ruben.marcuzzi en gmail.com>> escribió:
>
>     Mejor
>     sqldf("select x, y, x || ':' || y || '-ABC' as z from d")
>
>     El 09/12/2014 a las 09:55 a.m., Jorge I Velez escibió:
>     > Gracias, Javier.
>     >
>     > Los datos "d" corresponden un archivo de texto de ~1.92GB.   Voy a
>     > explorar la posibilidad con sqldf, aunque confieso que mi
>     conocimiento
>     > de SQL es bastante limitado.
>     >
>     > Saludos cordiales,
>     > Jorge.-
>     >
>     >
>     > 2014-12-09 23:50 GMT+11:00 "Marcuzzi, Javier Rubén"
>     > <javier.ruben.marcuzzi en gmail.com
>     <mailto:javier.ruben.marcuzzi en gmail.com>
>     > <mailto:javier.ruben.marcuzzi en gmail.com
>     <mailto:javier.ruben.marcuzzi en gmail.com>>>:
>     >
>     >     Estimado Jorge Velez
>     >
>     >     ¿Que pasa si usa sqldf que trabaja con sqlite o alguna
>     conección a
>     >     base de datos y realiza una concateneción en sql?
>     >
>     >     Javier Marcuzzi
>     >
>     >     El 09/12/2014 a las 09:46 a.m., Jorge I Velez escibió:
>     >
>     >         Hola a todos,
>     >
>     >         Me gustaria construir un vector a partir de otros dos.
>     >
>     >         Ejemplo:
>     >
>     >         x <- 1:3
>     >         y <- 4:6
>     >         d <- data.frame(x, y)
>     >         d$z <- with(d, paste0(x, ":", y, "-ABC"))
>     >         d
>     >
>     >         El problema es "d" tiene ~70 millones de filas y toma
>     mucho tiempo
>     >         construir el vector "z".
>     >         Alguna sugerencia?
>     >
>     >         Muchas gracias,
>     >         Jorge Velez
>     >
>     >                 [[alternative HTML version deleted]]
>     >
>     >  _______________________________________________
>     >         R-help-es mailing list
>     > R-help-es en r-project.org <mailto:R-help-es en r-project.org>
>     <mailto:R-help-es en r-project.org <mailto: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 <mailto:R-help-es en r-project.org>
>     <mailto:R-help-es en r-project.org <mailto:R-help-es en r-project.org>>
>     > https://stat.ethz.ch/mailman/listinfo/r-help-es
>     >
>     >
>
>
>             [[alternative HTML version deleted]]
>
>
>     _______________________________________________
>     R-help-es mailing list
>     R-help-es en r-project.org <mailto:R-help-es en r-project.org>
>     https://stat.ethz.ch/mailman/listinfo/r-help-es
>
>
>
>
> -- 
> Saludos,
> Carlos Ortega
> www.qualityexcellence.es <http://www.qualityexcellence.es>


	[[alternative HTML version deleted]]



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