2013-05-14 54 views
0

嗨,我有面板數據,並希望重塑或將我的指標名稱列從長到寬格式。目前所有專欄的格式都很長,包括年份(1960-2011),國家名稱(世界所有國家),指標名稱(根據不同指標而變化)和價值(個別值對應於年份,指標名稱和國家名稱) 。我怎麼能做到這一點可以有人幫助請。我希望各種指標能夠以廣泛的格式出現,並在其下面列出相應的數值,並在其他欄目中列出年份和國家名稱。請幫助面板數據從長到寬重塑或鑄造

Indicator.Name Year Country 
GDP    1960 USA 
GDP    1960 UK 




Country Name Year GDP PPP HHH 
USA    1960 7  9  10 
Uk    1960 9  10  NA 
World   1960 7  5  3 
Africa   1960 3  7  NA 
+4

請縮進代碼。也就是說,在每行代碼的開始處放置四個空格。 – Frank

+1

我會第二個@Frank說...你的代碼幾乎不可讀。不過,看看'reshape2'包。具體來說,'dcast'。你需要像dcast(yourdata,Country + Year〜Indicator.Name,value.var ='Value')'。 – Justin

+0

我不知道該怎麼做,坦率地說,對不起 – ManafQ

回答

1

嘗試使用dcast從reshape2象下面這樣:

library(reshape2) 
indicator <- c('PPP','PPP','GDP','GDP') 
country.name <- c('USA','UK','USA','UK') 
year <- c(1960,1961,1960,1961) 
value <- c(5,7,8,9) 
d <- data.frame(indicator, country.name, year, value) 
d1 <- dcast(d, country.name + year ~ indicator) 
+0

謝謝你Jimmy T,它很棒 – ManafQ