[R-es] Matriz de Datos

Eric ericconch@munoz @ending from gm@il@com
Vie Dic 7 05:49:07 CET 2018


Hola Rafael, con la librería data.table podrías hacerlo algo así:

library(data.table)
dat <- fread("tusdatos")
dat[,sum(Monto),by=.(D,Grupo)]

y obtener esto:

    D Grupo    V1
1: a     1 6.575
2: a     2 3.497
3: b     1 5.637
4: b     3 4.445
5: c     2 4.935
6: c     1 2.299
7: c     3 1.111

Ahí ya está calculado, luego lo puedes reordenar con dcast(dat2, D ~ 
Grupo, value.var="V1") y obtienes:

    D     1     2     3
1: a 6.575 3.497    NA
2: b 5.637    NA 4.445
3: c 2.299 4.935 1.111

Que creo que es lo que necesitas.

Suerte !!!

Eric.


pd: aquí puedes ver como funciona dcast() 
https://cran.r-project.org/web/packages/data.table/vignettes/datatable-reshape.html




On 06/12/2018 22:42, Rafael Saturno wrote:
> Hola Comunidad,
>
> Queria consultarles algo,
>
> Tengo una data con la siguiente estructura
>
> Descripcion     Grupo   Monto
> a       1       1.826
> a       2       3.497
> a       1       4.749
> b       1       3.999
> b       1       1.638
> b       3       4.445
> c       2       4.935
> c       1       2.299
> c       3       1.111
>
> Y quiero crear una matriz que a la fila tenga la descripcion y en la columna el grupo y en cada valor interno la suma del monto correspondiente,
>
> Es decir algo como
>
> Descripcion/Grupo       1       2       3
> a       6.575   3.497   0
> b       5.637   0       4.445
> c       2.299   4.935   1.111
>
> En excel lo haria con una tabla dinamica, hay alguna forma de hacerlo en R? esty utilizando un "for" pero tarda mucho
>
> Muchas Gracias
>
>
> 	[[alternative HTML version deleted]]
>
> _______________________________________________
> R-help-es mailing list
> R-help-es using 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