在两个数据框中对相似列进行相同排序
Make same order of similar column in two data frames
我有两个数据框 - DF1
和 DF2
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
我需要获得相同顺序的列 RS1
和 RS2
。如果两个数据帧之间的列长度不同,我该怎么做。
更新
预期输出将是 DF2$RS2
,其顺序与 DF1$RS1
中的顺序相同:
DF2$RS2
RS2
rs_12
rs_23
rs_23
rs_23
rs_34
rs_34
rs_34
我们可以尝试 match
和 order
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
我有两个数据框 - DF1
和 DF2
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
我需要获得相同顺序的列 RS1
和 RS2
。如果两个数据帧之间的列长度不同,我该怎么做。
更新
预期输出将是 DF2$RS2
,其顺序与 DF1$RS1
中的顺序相同:
DF2$RS2
RS2
rs_12
rs_23
rs_23
rs_23
rs_34
rs_34
rs_34
我们可以尝试 match
和 order
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