2016-03-23 37 views
1

Ben tanımlayan bu veri kümesini (ona bir göz atmak, komut satırında çalıştırın)R: döküm birden sütun

Gördüğünüz kadarıyla
structure(list(Staz = c("Carmagnola", "Chieri", "Chivasso", "Ivrea", 
"Moncalieri", "Orbassano"), Year = c(2004, 2004, 2004, 2004, 
2004, 2004), Season = c("Autumn", "Autumn", "Autumn", "Autumn", 
"Autumn", "Autumn"), Avg_T = c(11.7361111111111, 11.7361111111111, 
11.7361111111111, 11.7361111111111, 11.7361111111111, 11.7361111111111 
), Min_T = c(7.27222222222222, 7.27222222222222, 7.27222222222222, 
7.27222222222222, 7.27222222222222, 7.27222222222222), Max_T = c(16.6722222222222, 
16.6722222222222, 16.6722222222222, 16.6722222222222, 16.6722222222222, 
16.6722222222222), Moisture = c(69.6388888888889, 69.6388888888889, 
69.6388888888889, 69.6388888888889, 69.6388888888889, 69.6388888888889 
), Rain = c(79.2, 79.2, 79.2, 79.2, 79.2, 79.2), Year_Bef = c(2004, 
2004, 2004, 2004, 2004, 2004), Year_Bef_Two = c(2004, 2004, 2004, 
2004, 2004, 2004)), .Names = c("Staz", "Year", "Season", "Avg_T", 
"Min_T", "Max_T", "Moisture", "Rain", "Year_Bef", "Year_Bef_Two" 
), row.names = c(NA, 6L), class = "data.frame") 

'Sezon' adlı bir değişken var olması göre verilerin mevsimi. Her mevsim için hava değişkenlerini ('Avg_T', Min_T ',' Max_T ',' Nemlendirme ',' Yağmur ') ayırmak istiyorum, ancak aynı sırada yer aldım. Bu yüzden, her yıl, mevsimsel veriler hakkında bilgi içeren çalışma alanı başına sadece bir satır olurdu.

Bunu 'yeniden şekillendir' ve 'reshape2' paketlerindeki 'cast' ve 'dcast' komutlarıyla yapmaya çalıştım ama işe yaramadı.

Biri bana yardımcı olabilir mi?

+0

Beklenen çıktıyı gösterebilir misiniz? – mtoto

cevap

0

İlk

sayesinde

Jacopo, en veri df yaşıyor diyelim. Ben df için rbinddf ve biz fazla 1 sezon hediyem var ki yaza df ikinci yarısında sezonu değiştirin: Ben df son iki sütun kurtulmak

Sonra
df <- rbind(df, df) 
df[7:12,]$Season = 'Summer' 

(onlar değil) bir şey yapıyor olması gibi görünüyor:

r_df <- reshape(df, timevar = 'Season', idvar = c('Staz', 'Year'), direction = 'wide') 
01:

df = df[, -c(9,10)] 

Şimdi, reshape işlevini kullanmaya hazır

Bence bu sana aradığın şeyi vermeli.