您好我有面板数据,并希望重塑或投射我的指标名称列从长格式到宽格式。目前所有列都是长格式,年份(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
答案 0 :(得分:1)
尝试使用reshape2中的dcast,如下所示:
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)