The 'reshape2' package is your friend:

> require(reshape2)
> x <- melt(wrong, id = c("Local", "Mês", "Dia", "Colonia"), variable.name = 
> "Hora")
> # remove "X" from Hora
> x$Hora <- as.character(substring(x$Hora, 2))
> head(x)  # not in the right order
      Local   Mês Dia Colonia Hora   value
1 Conceição Junho   1       3   6h 2.16137
2 Conceição Junho   2       3   6h 2.46538
3 Conceição Junho   3       3   6h 2.53275
4 Conceição Junho   1       4   6h 1.65321
5 Conceição Junho   2       4   6h 2.30320
6 Conceição Junho   3       4   6h 2.71012
> # sort, but first add blank on Hora for less that 10h for sorting
> x$Hora <- ifelse(nchar(x$Hora) == 2, paste0(" ", x$Hora), x$Hora)
> x <- x[order(x$Local, x$Mês, x$Dia, x$Colonia, x$Hora), ]
>
> head(x,20)
        Local   Mês Dia Colonia Hora   value
10  Conceição julho   1       3   6h 2.20952
20  Conceição julho   1       3   7h 2.01284
30  Conceição julho   1       3   8h 1.79239
40  Conceição julho   1       3   9h 1.59106
50  Conceição julho   1       3  10h 1.62325
60  Conceição julho   1       3  11h 1.51851
70  Conceição julho   1       3  12h 1.41497
80  Conceição julho   1       3  13h 1.38021
90  Conceição julho   1       3  14h 1.66276
100 Conceição julho   1       3  15h 1.46240
110 Conceição julho   1       3  16h 1.53148
120 Conceição julho   1       3  17h 1.66276
1   Conceição Junho   1       3   6h 2.16137
11  Conceição Junho   1       3   7h 2.20412
21  Conceição Junho   1       3   8h 2.08991
31  Conceição Junho   1       3   9h 1.72428
41  Conceição Junho   1       3  10h 1.69897
51  Conceição Junho   1       3  11h 1.62325
61  Conceição Junho   1       3  12h 1.44716
71  Conceição Junho   1       3  13h 1.51851



On Thu, Nov 22, 2012 at 8:53 PM, Raoni Rodrigues
<caciquesamu...@gmail.com> wrote:
> structure(list(Local = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 1L,
> 1L, 1L, 1L), .Label = "Conceição", class = "factor"), Mês = structure(c(2L,
> 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L), .Label = c("julho", "Junho"
> ), class = "factor"), Dia = c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
> 1L, 1L), Colonia = c(3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L),
>     Hora = structure(1:10, .Label = c("6h", "7h", "8h", "9h",
>     "10h", "11h", "12h", "13h", "14h", "15h", "16h", "17h"), class =
> "factor"),
>     N = c(2.16137, 2.20412, 2.08991, 1.72428, 1.69897, 1.62325,
>     1.44716, 1.51851, 1.43136, 1.47712)), .Names = c("Local",
> "Mês", "Dia", "Colonia", "Hora", "N"), row.names = c(NA, 10L), class =
> "data.frame")



-- 
Jim Holtman
Data Munger Guru

What is the problem that you are trying to solve?
Tell me what you want to do, not how you want to do it.

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to