通过公共列合并dfs导入R中的选定列

通过公共列合并dfs导入R中的选定列,r,tidyverse,tidyr,R,Tidyverse,Tidyr,我想通过常用的“名称”列合并data.frames,但只选择“PA”列 期望的: names S1 S2 S3 S4 PA_df2 PA_df3 PA_df4 1 Obs1 1 2 0 0 2 3 30 2 Obs2 2 50 100 10 4 5 50 3 Obs3 2 40 135 17 5 7 70 4 Obs4 0 3

我想通过常用的“名称”列合并
data.frames
,但只选择“PA”列

期望的:

  names S1   S2  S3   S4    PA_df2   PA_df3 PA_df4 
1 Obs1  1    2   0    0     2        3      30
2 Obs2  2    50  100  10    4        5      50 
3 Obs3  2    40  135  17    5        7      70 
4 Obs4  0    30  256  73    6        8      80 
5 Obs5  1    22  303  74    7         7     70

使用类似SQL的联接,这是否有效:

library(dplyr)
df %>% inner_join(df2 %>% select(names, 'PA_df2' = PA)) %>% 
          inner_join(df3 %>% select(names, 'PA_df3' = PA)) %>% 
          inner_join(df4 %>% select(names, 'PA_df4' = PA))
Joining, by = "names"
Joining, by = "names"
Joining, by = "names"
  names S1 S2  S3 S4 PA_df2 PA_df3 PA_df4
1  Obs1  1  2   0  0      2      3     30
2  Obs2  2 50 100 10      4      5     50
3  Obs3  2 40 135 17      5      7     70
4  Obs4  0 30 256 73      6      8     80
5  Obs5  1 22 303 74      7      7     70
  names S1   S2  S3   S4   AB.x PA.x  AB.y  PA.y AB  PA 
1 Obs1  1    2   0    0    0    2     100   3    110 30
2 Obs2  2    50  100  10   30   4     300   5    310 50 
3 Obs3  2    40  135  17   30   5     300   7    310 70 
4 Obs4  0    30  256  73   40   6     400   8    410 80 
5 Obs5  1    22  303  74   2    7     200   7    210 70
  names S1   S2  S3   S4    PA_df2   PA_df3 PA_df4 
1 Obs1  1    2   0    0     2        3      30
2 Obs2  2    50  100  10    4        5      50 
3 Obs3  2    40  135  17    5        7      70 
4 Obs4  0    30  256  73    6        8      80 
5 Obs5  1    22  303  74    7         7     70
library(dplyr)
df %>% inner_join(df2 %>% select(names, 'PA_df2' = PA)) %>% 
          inner_join(df3 %>% select(names, 'PA_df3' = PA)) %>% 
          inner_join(df4 %>% select(names, 'PA_df4' = PA))
Joining, by = "names"
Joining, by = "names"
Joining, by = "names"
  names S1 S2  S3 S4 PA_df2 PA_df3 PA_df4
1  Obs1  1  2   0  0      2      3     30
2  Obs2  2 50 100 10      4      5     50
3  Obs3  2 40 135 17      5      7     70
4  Obs4  0 30 256 73      6      8     80
5  Obs5  1 22 303 74      7      7     70