有没有一种方法可以将数据帧与R中的另一个数据帧按相同的顺序放置

时间:2019-12-14 23:27:14

标签: r sorting dataframe

我有一个调查的两个数据框(具有43个变量和53行),它们的值均相同,但各行以两种随机不同的方式排序。

另外,某些行与其他行具有相同的值。这是一个示例:

DT1 <- data.frame(sex = c("M","F","M","M","F"),
                  Age = c(12,67,12,30,67),
                  V1 = c(7,7,6,6,7))

DT2 <- data.frame(sex = c("F","M","F","M","M"),
                  Age = c(67,12,67,12,30),
                  V1 = c(7,6,7,7,6))

以下是我的问题,是否可以将第二个数据帧作为第一个数据帧排序?

1 个答案:

答案 0 :(得分:0)

选项为match

DT2New <- DT2[match(do.call(paste, DT1), do.call(paste, DT2)),]
row.names(DT2New) <- NULL
identical(DT1, DT2New)
#[1] TRUE