0

嗨,我有面板数据,想将我的指标名称列从长格式转换为宽格式。目前所有的列都是长格式,Year(1960-2011),Country Name(世界上所有国家),Indicator name(因不同的指标而异)和Value(对应年份、指标名称和国家名称的个体值) . 我该怎么做才能有人帮忙。我希望各种指标采用宽格式,并在其下方以及其他列年份和国家名称上具有相应的值。请帮忙

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

1 回答 1

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)
于 2013-05-14T18:45:15.503 回答