[R-es] Invertir dcast

Carlos Ortega cof en qualityexcellence.es
Jue Feb 11 17:30:14 CET 2016


​Hola,

Sí, es que con los data.tables tienes que cambiar los nombres con la
función "setnames()" y "M2" es un data.table.

Saludos,
Carlos Ortega
www.qualityexcellence.es
​

El 11 de febrero de 2016, 17:26, Ruben Bermad <ruben_bm en hotmail.com>
escribió:

>
> Parece que funciona y va rapido. Solo una duda, es posible poner que en
> las variables fila y columna ponga los nomrbes que estaban en la matriz?
> Siguiendo tu codigo, he probado poniendole a M2 los row.names de M:
> row.names(M2) <- row.names (M)
> pero no sirve.
> Si hago row.names (M2) me aparecen los nuevos nombres, pero luego tanto en
> la visualizacion como en el paso de M3 se ponen los nombres consecutivos.
> Sabeis alguna manera para poder poner los nombres originales?
> Muchas gracias !
> > Date: Thu, 11 Feb 2016 15:08:01 +0100
> > From: onunez en unex.es
> > To: javier.ruben.marcuzzi en gmail.com
> > CC: ruben_bm en hotmail.com; r-help-es en r-project.org
> > Subject: Re: [R-es] Invertir dcast
> >
> > Con data.table todo puede ir muy rapido.
> > > require(data.table)
> > > M=matrix(c(5,NA,NA,NA,6,NA,7,NA,8),3,3)
> > > M
> >      [,1] [,2] [,3]
> > [1,]    5   NA    7
> > [2,]   NA    6   NA
> > [3,]   NA   NA    8
> > > M2=data.table(M)
> > > M2
> >    V1 V2 V3
> > 1:  5 NA  7
> > 2: NA  6 NA
> > 3: NA NA  8
> > > M3=melt(M2,variable.name = "columna")
> > > M3
> >    columna value
> > 1:      V1     5
> > 2:      V1    NA
> > 3:      V1    NA
> > 4:      V2    NA
> > 5:      V2     6
> > 6:      V2    NA
> > 7:      V3     7
> > 8:      V3    NA
> > 9:      V3     8
> > > M3[,.(fila=which(!is.na(value)),value=na.omit(value)),by=columna]
> >    columna fila value
> > 1:      V1    1     5
> > 2:      V2    2     6
> > 3:      V3    1     7
> > 4:      V3    3     8
> > >
> >
> > Un saludo. Olivier
> >
> > ----- Mensaje original -----
> > De: "Javier Marcuzzi" <javier.ruben.marcuzzi en gmail.com>
> > Para: "Ruben Bermad" <ruben_bm en hotmail.com>, r-help-es en r-project.org
> > Enviados: Jueves, 11 de Febrero 2016 12:45:02
> > Asunto: Re: [R-es] Invertir dcast
> >
> > Estimado Ruben Bernard
> >
> > ¿Usted desea algo como sparce matrix?
> >
> > Javier Rubén Marcuzzi
> >
> > De: Ruben Bermad
> > Enviado: jueves, 11 de febrero de 2016 9:40
> > Para: r-help-es en r-project.org
> > Asunto: [R-es] Invertir dcast
> >
> > Hola a todos,
> > Queria preguntaros si conoceis alguna manera para invertir la funcion
> dcast. Quiero transformar una matriz en un data frame de tres columnas que
> indiquen solo los casos donde la combinacion fila-columna sea diferente de
> NA.
> > Se me habia ocurrido hacer un bucle que fuera seleccionando todos los
> valores para cada combinacion de fila y columna, pero el problema es que
> con una matriz de 53000x5000 tarda demasiado, y tengo muchos valores NA que
> no me sirven de nada.
> > Alguien sabe como podr�a invertir el dcast sin pasar  por todas las
> combinaciones.
> > Muchas gracias por adelantado, Un cordial saludo,Ruben
> >
> >
> >       [[alternative HTML version deleted]]
> >
> >
> >
> >       [[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
>
>         [[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
>



-- 
Saludos,
Carlos Ortega
www.qualityexcellence.es

	[[alternative HTML version deleted]]



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