【发布时间】:2015-03-29 04:09:07
【问题描述】:
您好,我有一个数据集,我会保持它非常基本,尽管实际上它要复杂得多。
mydata= data.frame(group=c(1,1,1,2,2,3,3,3), value=c(NA, 5,3,2,NA,NA,NA,9),value2=c(6,6,9,8,8,99,99,99))
我在第一列中有不同的组。第二列是导致我出现问题的原因。偶尔在我的数据中有重复的行,从某种意义上说,通过将 value1 替换为 NA,为相同的 value2+group 组合创建了额外的行。
例如,第 1 行和第 2 行相同,但 NA/5 除外。我认为第 2 行,“value1”列中的“5”是正确的行和正确的值。
我有没有办法过滤此数据集以删除重复项,因为重复项被视为除“value1”之外的每个值都匹配的行,按“组”列分组。此外,如果这可以以 不涉及以某种方式过滤 NA 的方式完成 - 它们只是一个示例,在我的真实场景中它们可能是“XYZ”
所以想要的解决方案是删除:
第 1 行, 第 4 行, 第 5 行, 第 6 行,
结果数据集 = 第 2、3、7 行
【问题讨论】:
-
根据数据集,删除1,5,6,7。
-
在您的真实场景中,也许您需要将
is.na(value)替换为value!='XYZ'
标签: r duplicates filtering duplicate-removal