[R-es] Pivot tables con data.table

Fernando Macedo fermace en gmail.com
Sab Sep 3 21:19:17 CEST 2016


Muchas gracias, pensaba hacerlo en una sola línea pero no anda.
Me quedo con dcast así no tengo que cargar más paquetes.

Un abrazo!

Fernando Macedo

El 03/09/16 a las 14:26, Carlos J. Gil Bellosta escribió:
> reshape2 + dcast
>
> El día 3 de septiembre de 2016, 19:23, Fernando Macedo
> <fermace en gmail.com> escribió:
>> Buenas, estoy intentando hacer una especie de pivot tables con data.table
>> pero no logro que me salga.
>>
>> Este código refleja un poco lo que quiero
>>
>>
>> library(data.table)
>> set.seed(1234)
>> DT <- data.table(x=rep(c(1,2,3),each=30),
>>                   y=letters[sample(1:3,30,replace = T,)],
>>                   v=sample(1:100,30))
>> out <- DT[,list(N=.N),by=list(x,y)]
>>
>> Eso genera una salida como esta:
>>
>>       x y  N
>> 1: 1 a  8
>> 2: 1 b 10
>> 3: 1 c 12
>> 4: 2 a  8
>> 5: 2 b 10
>> 6: 2 c 12
>> 7: 3 a  8
>> 8: 3 b 10
>> 9: 3 c 12
>>
>>
>> Que esta bien, pero lo que me interesa a mi es sacar una tabla con la
>> siguiente estructura:
>>
>> x  a b c
>> 1 8 10 12
>> 2 8 10 12
>>   ...
>>
>> y así. Porque después quiero hacer frecuencias y me resulta más fácil para
>> armar columnas de frecuencias seguidas de esas y queda mejor para presentar
>> los datos también.
>>
>> La verdad que he buscado pero no logro dar con la tecla de hacerlo en un
>> solo paso en data.table, o de repente no la hay.
>>
>>   Desde ya agradezco su ayuda.
>> Saludos!
>>
>> --
>> Fernando Macedo
>>
>> _______________________________________________
>> 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