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 列。任何帮助将不胜感激。谢谢你。

假设您要连接数据帧,则按 IDYr 排序。这是一个 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