【发布时间】:2018-04-24 21:35:48
【问题描述】:
在我的数据中,我有多行彼此之间仅略有不同,例如0.001。如果发生这种情况,我只想保留 1 条记录。是否有任何现有的函数/包可以进行逐行比较并在差异小于给定阈值 epsilon 时删除行?我在想distinct(., epsilon = 0.001)
例子:
df <- data.frame(
IDname = c("aaa1", "bbb2", "ccc3", "ddd4"),
g = c(0.00501, 0.00499, 2, 2),
t = c(0.005002, 0.004991, 2.001, 2.0001),
x = c(1.0001, 1, 2, 2.00001)
)
df
期望的输出:
IDname g t x
1 aaa1 0.00501 0.005002 1.00010
3 ccc3 2.00000 2.001000 2.00000
【问题讨论】:
-
您的示例和输出似乎不一致。对于
epsilon = 0.0001,第 3 行和第 4 行是不同的,不是吗?只有第 1 行和第 2 行中的值在epsilon中相似。
标签: r duplicates unique diff distinct