【问题标题】:R - create a Panel dataset from 2 Cross sectional datasetsR - 从 2 个横截面数据集中创建一个面板数据集
【发布时间】:2017-10-16 09:34:01
【问题描述】:

您能帮我完成以下从两个横截面数据集创建面板数据集的任务吗?

具体来说,一小部分横截面数据集是:

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))

但不能完全弄清楚如何链接第 3 列和第 4 列。任何帮助将不胜感激。谢谢你。

【问题讨论】:

    标签: r data-manipulation panel-data


    【解决方案1】:

    假设您要连接数据帧,然后按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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-16
      • 1970-01-01
      • 1970-01-01
      • 2019-07-20
      • 2019-05-25
      相关资源
      最近更新 更多