【发布时间】:2021-02-04 23:58:17
【问题描述】:
dplyr 中是否有删除几乎重复的列的方法?例如,我想删除以下 tibble 中重复率大于 75% 的列。这将删除 b 列和 c 列,但不会删除 d 列,因为它与任何其他列只有 60% 相同。
tibble(
a = c(1,2,3,4,5),
b = c(1,2,3,4,5),
c = c(1,2,3,4,4),
d = c(1,2,3,6,6)
)
【问题讨论】:
-
您应该澄清“几乎重复”的概念。当两列相似时,应该删除哪一列?
-
好问题。我希望它删除其中一个冗余列。几乎重复我的意思是跨行的大部分等效案例。例如,[3,3] 等价于 [4,3],但 [4,3] 不等价于 [4,4]。如果这是所有数据,则匹配率为 50%。我基本上想指定 > n% 匹配应该被识别,以便可以删除其中一列。
标签: r dplyr duplicates