Data frame manipulation
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
<caciquesamurai at 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.