Skip to content
Prev 311648 / 398503 Next

Data frame manipulation

Hi,
May be this helps:
library(reshape)
dat1 # data that needs to be converted
res<-melt(dat1,id=c("Local","M?s","Dia","Colonia"))
?names(res)[5:6]<-c("Hora","N")
?res1<-res[order(res$Dia),] 

?row.names(res1)<-1:nrow(res1)
res1$Hora<-gsub("[X]","",res1$Hora)
?head(res1)
#????? Local?? M?s Dia Colonia Hora?????? N
#1 Concei??o Junho?? 1?????? 3?? 6h 2.16137
#2 Concei??o Junho?? 1?????? 4?? 6h 1.65321
#3 Concei??o Junho?? 1?????? 5?? 6h 2.21748
#4 Concei??o julho?? 1?????? 3?? 6h 2.20952
#5 Concei??o Junho?? 1?????? 3?? 7h 2.20412
#6 Concei??o Junho?? 1?????? 4?? 7h 2.16435
A.K.


To: r-help at r-project.org
Cc: 
Sent: Thursday, November 22, 2012 8:53 PM
Subject: [R] Data frame manipulation

Hello,

I have a table that was constructed in a wrong way (dput data on bottom -
wrong data-frame):

? ? Local?  M?s Dia Colonia? ?  X6h? ?  X7h? ?  X8h? ?  X9h? ? X10h? ? X11h
?  X12h? ? X13h? ? X14h? ? X15h? ? X16h? ? X17h
1? Concei??o Junho?  1? ? ?  3 2.16137 2.20412 2.08991 1.72428 1.69897
1.62325 1.44716 1.51851 1.43136 1.47712 1.51851 1.04139
2? Concei??o Junho?  2? ? ?  3 2.46538 2.13672 2.06819 1.97772 2.00000
1.80618 1.64345 1.20412 1.62325 1.36173 1.69020 1.57978
3? Concei??o Junho?  3? ? ?  3 2.53275 2.52504 2.49276 2.32222 2.12710
2.26007 2.24551 1.95424 2.09342 1.04139 1.53148 1.17609
4? Concei??o Junho?  1? ? ?  4 1.65321 2.16435 1.91381 1.75587 1.74036
1.17609 1.66276 1.51851 1.39794 1.04139 1.11394 1.04139
5? Concei??o Junho?  2? ? ?  4 2.30320 1.71600 2.02531 2.05690 1.86332
1.66276 1.17609 1.04139 1.30103 1.27875 1.32222 1.32222
6? Concei??o Junho?  3? ? ?  4 2.71012 2.30320 2.53403 1.80618 2.24551
2.20683 2.02531 1.07918 1.36173 1.39794 1.11394 1.93450
7? Concei??o Junho?  1? ? ?  5 2.21748 1.99564 2.26007 2.28103 2.10380
1.41497 0.47712 1.07918 0.90309 1.04139 1.49136 1.23045
8? Concei??o Junho?  2? ? ?  5 2.10721 2.16435 2.05308 2.38561 2.14613
1.61278 1.27875 0.47712 1.61278 1.00000 1.44716 1.07918
9? Concei??o Junho?  3? ? ?  5 1.62325 1.93450 2.33041 2.24797 2.29885
2.48001 2.29003 1.43136 1.49136 1.17609 1.41497 1.14613
10 Concei??o julho?  1? ? ?  3 2.20952 2.01284 1.79239 1.59106 1.62325
1.51851 1.41497 1.38021 1.66276 1.46240 1.53148 1.66276


I have to create a new column (hour) and transpose just the last 12
columns, and first four columns have to be copied 12 time, like this (dput
data on bottom - correct data-frame):

? ?  Local?  M?s Dia Colonia Hora? ? ? ? N
1? Concei??o Junho?  1? ? ?  3?  6h 2.161370
2? Concei??o Junho?  1? ? ?  3?  7h 2.204120
3? Concei??o Junho?  1? ? ?  3?  8h 2.089910
4? Concei??o Junho?  1? ? ?  3?  9h 1.724280
5? Concei??o Junho?  1? ? ?  3? 10h 1.698970
6? Concei??o Junho?  1? ? ?  3? 11h 1.623250
7? Concei??o Junho?  1? ? ?  3? 12h 1.447160
8? Concei??o Junho?  1? ? ?  3? 13h 1.518510
9? Concei??o Junho?  1? ? ?  3? 14h 1.431360
10 Concei??o Junho?  1? ? ?  3? 15h 1.477120
11 Concei??o Junho?  1? ? ?  3? 16h 1.518510
12 Concei??o Junho?  1? ? ?  3? 17h 1.041390
13 Concei??o Junho?  2? ? ?  3?  6h 2.465383

Some one could give me some ideas? I don't even know how to start...

Thanks in advanced,