Message-ID: <CAAxdm-6qe0Jrnr8zfzHqB7Y9TDzHCvF=mQQZwn-iaOTb1sSBcg@mail.gmail.com>
Date: 2012-11-23T03:02:25Z
From: jim holtman
Subject: Data frame manipulation
In-Reply-To: <CAGtwFe2N3XNzpZZz=5rbgxQMXwh6Mtty0n4Z=wud4EbmZDdi2g@mail.gmail.com>
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.