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.