【发布时间】:2014-10-30 04:53:11
【问题描述】:
我有一个带有重复的 id 列的数据框,其中包含站点计数。我想知道如何仅在 Site_Count 记录大于 0 时删除重复的 ID 记录。
生成 DF:
DF <- data.frame(
'ID' = sample(100:300, 100, replace=T),
'Site_count' = sample(0:1, 100, replace=T)
)
我对子集的尝试:
subset(DF[!duplicated(DF$ID),], site_count > 0)
但在这种情况下,它将删除所有 0 个站点计数 - 我希望仅在有超过 0 个站点计数的重复记录时才删除记录。
理想的结果看起来像这样(请注意,站点 ID 为 0,但没有重复的 ID 为 0 和另一个站点计数):
ID site count
-- ----------
1 0
2 1
3 1
4 0
5 5
【问题讨论】:
-
你想要
subset(DF, !duplicated(p_id) & site_count > 0)吗?还是仅当重复的 id 具有site_count > 0时才删除重复项? -
@Roland - 是的 - 我只想在 ID 的 site_count > 0 时删除重复项,如果没有重复项,我想将该 ID 保留为 0 site_count。
-
这并不能真正回答我的问题。请尽可能准确。
标签: r duplicates subset