R - 从 2 个横截面数据集创建面板数据集
R - create a Panel dataset from 2 Cross sectional datasets
你能帮我完成以下从两个横截面数据集创建面板数据集的任务吗?
具体来说,一小部分横截面数据集是:
1) - 数据 1
ID| Yr | D | X
-------------------
1 | 2002 | F | 25
2 | 2002 | T | 27
& 2) - 数据 2
ID | Yr | D | X
---------------------
1 | 2003 | T | 45
2 | 2003 | F | 35
并想创建一个面板的形式:
ID | Yr | D | X
-----------------------
1 | 2002 | F | 25
1 | 2003 | T | 45
2 | 2002 | T | 27
2 | 2003 | F | 35
到目前为止我尝试过的代码是:
IDvec<-data1[,1]
ID_panel=c()
for (i in 1:length(IDvec)) {
x<-rep(IDvec[i],2)
ID_panel<-append(ID_panel,x)
}
Years_panel<-rep(2002:2003,length(IDvec))
但不太清楚如何 link 第 3 和第 4 列。任何帮助将不胜感激。谢谢你。
假设您要连接数据帧,则按 ID
和 Yr
排序。这是一个 dplyr
方法:
library(dplyr)
data1 %>%
bind_rows(data2) %>%
arrange(ID, Yr)
ID Yr D X
1 1 2002 F 25
2 1 2003 T 45
3 2 2002 T 27
4 2 2003 F 35
你能帮我完成以下从两个横截面数据集创建面板数据集的任务吗?
具体来说,一小部分横截面数据集是:
1) - 数据 1
ID| Yr | D | X
-------------------
1 | 2002 | F | 25
2 | 2002 | T | 27
& 2) - 数据 2
ID | Yr | D | X
---------------------
1 | 2003 | T | 45
2 | 2003 | F | 35
并想创建一个面板的形式:
ID | Yr | D | X
-----------------------
1 | 2002 | F | 25
1 | 2003 | T | 45
2 | 2002 | T | 27
2 | 2003 | F | 35
到目前为止我尝试过的代码是:
IDvec<-data1[,1]
ID_panel=c()
for (i in 1:length(IDvec)) {
x<-rep(IDvec[i],2)
ID_panel<-append(ID_panel,x)
}
Years_panel<-rep(2002:2003,length(IDvec))
但不太清楚如何 link 第 3 和第 4 列。任何帮助将不胜感激。谢谢你。
假设您要连接数据帧,则按 ID
和 Yr
排序。这是一个 dplyr
方法:
library(dplyr)
data1 %>%
bind_rows(data2) %>%
arrange(ID, Yr)
ID Yr D X
1 1 2002 F 25
2 1 2003 T 45
3 2 2002 T 27
4 2 2003 F 35