Skip to content
Back to formatted view

Raw Message

Message-ID: <CADg83efycGbChDPjFp6a10TKnFC6mC1J_q0Pm9yx1hdkmqSLqA@mail.gmail.com>
Date: 2016-09-03T17:26:52Z
From: Carlos J. Gil Bellosta
Subject: [R-es] Pivot tables con data.table
In-Reply-To: <13c7dcd5-f739-a408-2199-19933a67088b@gmail.com>

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