【问题标题】:How to drop observations based on conditions如何根据条件删除观察值
【发布时间】:2019-04-17 20:28:53
【问题描述】:

我有一个子集数据,其中包含来自更大数据集的每个观察的总计数。如果我想根据更高的计数删除重复项,并且如果名称相同,则删除出现较少的代码,我将如何处理?比如:

name = c("a", "a", "b", "b", "b", "c", "d", "e", "e", "e")
code = c(1,1,2,3,4,1,1,2,2,3)
n = c(1,10,2,3,5,4,8,100,90,40)
data = data.frame(name,code,n)

最终产品会留下这些:

name = c("a", "b", "c", "d", "e")
code = c(1,4,1,1,2)
n = c(10,5,4,8,100)
data2 = data.frame(name,code,n)

【问题讨论】:

标签: r duplicates


【解决方案1】:

如果你可以使用 dplyr,这应该可以解决问题:

library(dplyr)
data %>%
  group_by(name) %>%
  filter(n == max(n)) %>%
  ungroup()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-09
    • 2014-06-18
    • 1970-01-01
    • 2016-11-16
    • 1970-01-01
    • 1970-01-01
    • 2022-08-31
    相关资源
    最近更新 更多