[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