在两个数据框中对相似列进行相同排序

Make same order of similar column in two data frames

我有两个数据框 - DF1DF2

DF1
    RS1    R_Al1     B
    rs_12   A       -0.1
    rs_23   T        0.2
    rs_34   C        0.3

DF2
RS2   RefAl2   B
rs_12   C       0.5
rs_23   G      -0.3
rs_23   T       0.2
rs_34   C      -0.1
rs_23   G      -0.1
rs_34   C       0.7
rs_34   A       0.9

我需要获得相同顺序的列 RS1RS2。如果两个数据帧之间的列长度不同,我该怎么做。

更新

预期输出将是 DF2$RS2,其顺序与 DF1$RS1 中的顺序相同:

DF2$RS2

RS2    
rs_12
rs_23
rs_23
rs_23
rs_34
rs_34
rs_34

我们可以尝试 matchorder

DF2[order(match(DF2$RS2, DF1$RS1)),1, drop=FALSE]
#   RS2
#1 rs_12
#2 rs_23
#3 rs_23
#5 rs_23
#4 rs_34
#6 rs_34
#7 rs_34