r - 将面板数据从长到长,但扩展变量
问题描述
我有长格式的大型数据集,有多个变量“堆叠”,结构类似于
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
如果这是重复的,我真的很抱歉,但是在浏览了早期的帖子之后,我仍然没有设法重新构建我的数据。
解决方案
推荐阅读
- css - 如何在导航栏中创建均匀的间距
- javascript - javascript在遇到意外的anchorOffset时执行多个createrange()
- javascript - 无法通过组件中的操作更改 redux 状态
- python - 如何在 Python 中创建一个创建多个空列表的循环?
- c - 字符串数组在函数中没有得到正确的值
- python - 当 sys.stdout 为 None 时是什么意思
- android - 在圆弧上画圆
- python - 如何将下载按钮的值获取到我的 django 视图中?
- python - 如何使用 lxml 和请求在锚点中获取元素文本?
- c++ - C ++:按公共基数对整数进行分组以节省内存