Innerjoin导致R中出现空位

时间:2018-09-20 13:38:27

标签: r inner-join tibble

我有两个带有等效密钥的小工具(西班牙和加拿大),我正尝试通过“国家/地区”加入它们。它们是这样的:

Country stratum  oecd schoolID studentID booklet     q   q_1   q_2   q_3   q_4   
                                                                             q_5   q_6   q_7   q_8   q_9
<chr>   <chr>   <int> <chr>    <chr>       <int> <int> <int> <int> <int> <int> 
                                                              <int> <int> <int> <int> <int>
 1 ESP     ESP1633     1 0000001  00005           5    NA     0    NA     1     0     0     1     0     0    NA
 2 ESP     ESP1633     1 0000001  00014           5    NA     0    NA     1     1     1     2     0     1    NA
 3 ESP     ESP0306     1 0000002  00040           5    NA     0    NA     1     0     1     2     0     1    NA
 4 ESP     ESP0306     1 0000002  00041           5    NA     0    NA     1     0     1     2     0     1    NA
 5 ESP     ESP1633     1 0000003  00062           5    NA     0    NA     0     1     1     2     0     0    NA
 6 ESP     ESP1427     1 0000004  00102           5    NA     0    NA     0

Country stratum  oecd schoolID studentID booklet     q   q_1   q_2   q_3   q_4   
q_5   q_6   q_7   q_8   q_9
   <chr>   <chr>   <int> <chr>    <chr>       <int> <int> <int> <int> <int> 
<int> <int> <int> <int> <int> <int>
 1 CAN     CAN0762     1 0000001  00014           5    NA     0    NA     1     1     1     2     1     1    NA
 2 CAN     CAN0762     1 0000001  00020           5    NA     0    NA     1     1     1     2     1     0    NA
 3 CAN     CAN0542     1 0000002  00039           5    NA     0    NA     1     0     1     2     1     1    NA
 4 CAN     CAN0652     1 0000003  00061           5    NA     0    NA     1     1     1     2     0     1    NA
 5 CAN     CAN0652     1 0000003  00063           5    NA     0    NA     1     0     1     2     2     1    NA
 6 CAN     CAN0652     1 0000004  00078           5    NA     0    NA     0     0     1     1     0     1    NA

当我尝试

combo<-inner_join(spain,canada,by='Country')

spain%<%
innerjoin(canda,by='Country')

我得到的结果是

A tibble: 0 x 227
# ... with 227 variables: Country <chr>, stratum.x <chr>, oecd.x <int>, 

请帮助!我的直觉是,小标题应该是大约3500行(西班牙+加拿大的总值),我希望得到它,以便西班牙和加拿大的所有值都在一个小标题中,以便最终我可以执行差异项目功能(DIF )分析。提前致谢!

1 个答案:

答案 0 :(得分:0)

如果您只想将两个小标题合并为一个,并且它们具有要使用的相同列

combo <- rbind(spain, canada)

library(dplyr)
combo <- bind_rows(spain, canada)