[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