我需要重塑從worldbank數據庫下載的一些數據。但是我有一些困難。如何重塑WDI數據
的目標是,它看起來像這樣:
year CH DE US
1980 17383.38 11746.40 12179.56
1981 15833.74 9879.46 13526.19
1982 16133.97 9593.66 13932.68
1983 16007.82 9545.86 15000.09
1984 15229.82 9012.48 16539.38
我用下面的代碼來下載數據。 WDI和RJSONO包是必需的。
wdi <- WDI(country = c("CH","DE","US"), indicator = "NY.GDP.PCAP.CD" ,start = 1980, end = 2010, extra = F)
然後我重塑了以下方法:
wdi2 <- reshape(wdi, direction = "wide", timevar="year", v.names="NY.GDP.PCAP.CD", idvar="country", drop="iso2c")
輸出不匹配我的應該怎麼看的期望:
> wdi2
country NY.GDP.PCAP.CD.2010 NY.GDP.PCAP.CD.2009 NY.GDP.PCAP.CD.2008
1 Switzerland 70572.66 65790.07 68555.37
32 Germany 40163.82 40275.25 44132.04
63 United States 46615.51 45305.05 46759.56 ...
這一個是好一點,但還是沒有我想要的:
> t(wdi2)
1 32 63
country "Switzerland" "Germany" "United States"
NY.GDP.PCAP.CD.2010 "70572.66" "40163.82" "46615.51"
NY.GDP.PCAP.CD.2009 "65790.07" "40275.25" "45305.05"
NY.GDP.PCAP.CD.2008 "68555.37" "44132.04" "46759.56"
NY.GDP.PCAP.CD.2007 "59663.77" "40402.99" "46349.12"
的WDI對象看起來是這樣的:
> wdi
iso2c country NY.GDP.PCAP.CD year
1 CH Switzerland 70572.657 2010
2 CH Switzerland 65790.067 2009
3 CH Switzerland 68555.372 2008
4 CH Switzerland 59663.770 2007
...
30 CH Switzerland 16219.906 1981
31 CH Switzerland 17807.340 1980
32 DE Germany 40163.817 2010
33 DE Germany 40275.251 2009
34 DE Germany 44132.042 2008
...
62 DE Germany 11746.404 1980
63 US United States 46615.511 2010
64 US United States 45305.052 2009
在我的手機,但它好像你可能只是在尋找'噸(WDI2 [-1])'之後就可以重新添加列名稱並清理行名稱。 – A5C1D2H2I1M1N2O1R2T1
@Ananda Mahto Thx。但是,通過僅使用重塑函數,它們不是一種更智能的方法,可以將數據直接轉換爲正確的格式嗎? – SWR
正如我所說,在我的手機:)請張貼您的wdi物體的幾行,我會看到想到什麼。 – A5C1D2H2I1M1N2O1R2T1