[R-es] Organizar datos
Leonardo Hernández Pérez
leonardo.hernandez en etecsa.cu
Mar Mar 19 15:55:16 CET 2013
Resuelto
Gracias Daniel y Carlos
Hace exactamente lo que necesito.
Un Saludo
Leonardo
On 18/03/13 18:48, Carlos Ortega wrote:
> Hola,
>
> Además de la solución de Daniel (perfectamente válida y compacta)
> quise probar a hacerlo de otra forma....
>
>
> library(sqldf)
> tmpa <- sqldf("select N,P from df where P%2 == 0 order by P,N")
> tmpb <- sqldf("select N,P from df where P%2 == 1 order by P, N desc")
> sqldf("select * from tmpa union all select * from tmpb")
>
>
> Saludos,
> Carlos Ortega
> www.qualityexcellence.es <http://www.qualityexcellence.es>
>
>
> El 18 de marzo de 2013 17:25, daniel <daniel319 en gmail.com
> <mailto:daniel319 en gmail.com>> escribió:
>
> Leonardo, otra vez usa dput para los datos.
>
>
> library(gtools)
> df <- structure(list(N = c(34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
> 44, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 34, 35, 36, 37,
> 38, 39, 40, 41, 42, 43, 44, 35, 36, 34, 35), P = structure(c(1L,
> 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L,
> 2L, 2L, 2L, 2L, 2L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L,
> 4L, 4L, 5L, 5L), .Label = c("6", "7", "8", "9", "10"), class =
> "factor")), .Names = c("N",
> "P"), row.names = c(NA, -37L), class = "data.frame")
> str(df)
> df$P <- as.numeric(as.character(df$P))
> str(df)
> df[ order( df$P, ifelse( odd(df$P), -df$N, df$N)), ]
> sessionInfo()
>
> Espero haberte interpretado bien y si es así que lo anterior te sirva
> para encontrar una mejor manera de hacerlo.
>
> Daniel Merino
>
> El día 18 de marzo de 2013 11:38, Leonardo Hernández Pérez
> <leonardo.hernandez en etecsa.cu
> <mailto:leonardo.hernandez en etecsa.cu>> escribió:
> > Hola Colegas:
> >
> > Tengo un dataframe o un a matriz con estos datos:
> >
> > N es un escalar y P un factor, quiero organizarlo de forma tal
> que mantengan
> > esta estructura pero que los valores de N correspondientes al
> factor P = 6
> > se mantengan organizados de forma ascendente, los valores de N que
> > correspondan al factor P = 7 queden organizados de forma
> descendente y así
> > sucesivamente con todos los demás factores.
> >
> >
> >
> > N P
> > 34 6
> > 35 6
> > 36 6
> > 37 6
> > 38 6
> > 39 6
> > 40 6
> > 41 6
> > 42 6
> > 43 6
> > 44 6
> > 34 7
> > 35 7
> > 36 7
> > 37 7
> > 38 7
> > 39 7
> > 40 7
> > 41 7
> > 42 7
> > 43 7
> > 44 7
> > 34 8
> > 35 8
> > 36 8
> > 37 8
> > 38 8
> > 39 8
> > 40 8
> > 41 8
> > 42 8
> > 43 8
> > 44 8
> > 35 9
> > 36 9
> > 34 10
> > 35 10
> >
> >
> > El resultado que quiero es este
> >
> > N P
> > 34 6
> > 35 6
> > 36 6
> > 37 6
> > 38 6
> > 39 6
> > 40 6
> > 41 6
> > 42 6
> > 43 6
> > 44 6
> > 44 7
> > 43 7
> > 42 7
> > 41 7
> > 40 7
> > 39 7
> > 38 7
> > 37 7
> > 36 7
> > 35 7
> > 34 7
> > 34 8
> > 35 8
> > 36 8
> > 37 8
> > 38 8
> > 39 8
> > 40 8
> > 41 8
> > 42 8
> > 43 8
> > 44 8
> > 36 9
> > 35 9
> > 34 10
> > 35 10
> >
> > Es posible lograrlo??????
> >
> > Un Saludo
> >
> > Leonardo
> >
> >
> >
> > ---
> > This message was processed by Kaspersky Mail Gateway
> 5.6.28/RELEASE running
> > at host imx3.etecsa.cu <http://imx3.etecsa.cu>
> > Visit our web-site: <http://www.kaspersky.com>,
> <http://www.viruslist.com>
> >
> > _______________________________________________
> > R-help-es mailing list
> > R-help-es en r-project.org <mailto:R-help-es en r-project.org>
> > https://stat.ethz.ch/mailman/listinfo/r-help-es
> >
>
>
>
> --
> Daniel
>
> _______________________________________________
> R-help-es mailing list
> R-help-es en r-project.org <mailto:R-help-es en r-project.org>
> https://stat.ethz.ch/mailman/listinfo/r-help-es
>
>
>
>
> --
> Saludos,
> Carlos Ortega
> www.qualityexcellence.es <http://www.qualityexcellence.es>
>
>
> ---
> This message was processed by Kaspersky Mail Gateway 5.6.28/RELEASE running at host imx2.etecsa.cu
> Visit our web-site: <http://www.kaspersky.com>, <http://www.viruslist.com>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20130319/aa294ccd/attachment.html>
------------ próxima parte ------------
An embedded and charset-unspecified text was scrubbed...
Name: no disponible
URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20130319/aa294ccd/attachment.pl>
Más información sobre la lista de distribución R-help-es