【发布时间】:2016-07-12 10:40:57
【问题描述】:
我对 2 个数据帧的 colB 进行了逐行比较(两个数据帧具有相同的有序列),我发现它们 98% 相同,并且两列之间的唯一区别是一些值对像这样切换:
df1$colB df2$colB
A B
B A
1 1
C D
D C
我取了 df1$colB 不等于 df2$colB 时的子集
subset(df1, df1$colB != df2$colB)
有没有办法使用上面子集中的行来重新排列 df1 的整个行,以便 df1$colB 和 df2$colB 中的所有值现在都匹配?
【问题讨论】:
-
这将有助于添加更多的模式(可能 10 行)和更多的列。正确的解决方案取决于模式,因此提供更多数据细节会有所帮助。
-
你需要
order他们两个。通常的语法类似于mtcars[order(mtcars$drat),],您需要对两者都这样做。连接也是一种可能;dplyr::anti_join可能特别有用。 -
不太清楚你想做什么,但
merge可能会引导你走向正确的方向? -
我简化了我的问题。我只想知道如何使用来自数据子集的行出现重新排列数据帧的整行
标签: r comparison row col