首页 > 解决方案 > 将面板数据从长到长,但扩展变量

问题描述

我有长格式的大型数据集,有多个变量“堆叠”,结构类似于

set.seed(42)
dat_0=data.frame(
  c(rep('AFG',4),rep('UK',4)),
  c(rep('GDP',2),rep('pop',2)),
  rep(c('1990','1991'),4),
  runif(8))
colnames(dat_0)<-c('country','variable','year','val')

产生以下

  country variable year          val
1     AFG      GDP 1990 0.0856120649
2     AFG      GDP 1991 0.3052183695
3     AFG      pop 1990 0.6674265147
4     AFG      pop 1991 0.0002388966
5      UK      GDP 1990 0.2085699569
6      UK      GDP 1991 0.9330341273
7      UK      pop 1990 0.9256447486
8      UK      pop 1991 0.7340943010

我想将每个变量(GDP,pop)放在一列中

  country year        GDP       pop
1     AFG 1990 0.0856120649 0.6674265147
2     AFG 1991 0.3052183695 0.0002388966
3      UK 1990 0.2085699569 0.9256447486
4      UK 1991 0.9330341273 0.7340943010

如果这是重复的,我真的很抱歉,但是在浏览了早期的帖子之后,我仍然没有设法重新构建我的数据。

标签: rreshape

解决方案


推荐阅读