[R-es] Organizar datos

daniel daniel319 en gmail.com
Lun Mar 18 17:25:30 CET 2013


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> 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
> Visit our web-site: <http://www.kaspersky.com>, <http://www.viruslist.com>
>
> _______________________________________________
> R-help-es mailing list
> R-help-es en r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es
>



-- 
Daniel



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