合并R中不同数据集中具有相同名称的列的元素

Kiy*_*shi 1 merge r dataframe

我有两个df

df_1

X X1 X2 X3
A C D
F G
H J L

另一个,df_2

X X4 X5
Z
S

我想按列名称合并并整合元素

X X1 X2 X3 X4 X5
A C D
F G S
H J L 不适用 不适用
Z 不适用 不适用 不适用 不适用 不适用
不适用 不适用 不适用 不适用 不适用

Maë*_*aël 5

在 中dplyr,您可以使用bind_rowsNAorder和非 NA:

library(dplyr)
bind_rows(df_1, df_2) |>
  mutate(across(everything(), ~ .x[order(is.na(.x))]))

#  X   X1   X2   X3   X4   X5
#1 A    B    C    D    Y    W
#2 E    E    F    G    O    S
#3 H    I    J    L <NA> <NA>
#4 Z <NA> <NA> <NA> <NA> <NA>
#5 P <NA> <NA> <NA> <NA> <NA>
Run Code Online (Sandbox Code Playgroud)