R - создать набор данных Panel из 2 наборов данных поперечного сечения

Не могли бы вы помочь мне со следующей задачей по созданию набора данных панели из двух наборов данных поперечного сечения?

В частности, небольшая часть наборов данных поперечных сечений:

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-й столбцы. Любая помощь будет принята с благодарностью. Спасибо.


person Junran Cao    schedule 17.05.2017    source источник


Ответы (1)


Предполагая, что вы хотите объединить фреймы данных, выполните сортировку по 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
person neilfws    schedule 17.05.2017