r - 在r中使用group_by函数后如何选择最低值或删除重复项

标签 r dplyr grouping

我查看了许多线程,但找不到我要找的内容。我有一个包含多个 id 和日期的数据集,如下所示。

id  date       code
1   2000-10-08  690
1   2000-10-08  75
1   2000-10-08  35
1   2001-01-01  315
1   2001-01-01  70
1   2008-09-05  690
1   2008-09-05  5
1   2008-09-05  60
2   2006-02-01  188
2   2006-02-01  198
2   2006-02-01  555
2   2006-02-01  690
3   2010-10-10  120
3   2010-10-10  75
3   2010-10-10  25

我不希望每个 ID 有重复的日期,并且希望根据最低代码值选择此日期,因此最终结果如下:

id  date       code
1   2000-10-08  35
1   2001-01-01  70
1   2008-09-05  5
2   2006-02-01  188
3   2010-10-10  25

我使用了 group_by 函数,以便它按 ID 和日期处理数据:

df %>%
 group_by(id, date) %>%
 arrange(code)

但是,我正在努力找出要使用的代码,以便现在仅保留每个 ID/日期组合的最低值。

谁能帮我解决这个问题吗?

谢谢

最佳答案

tidyverse你可以这样做:

library(tidyverse)
dt %>% 
    group_by(id, date) %>% 
    summarise(code = min(code))

  id       date   x
1  1 2000-10-08  35
2  1 2001-01-01  70
3  1 2008-09-05   5
4  2 2006-02-01 188
5  3 2010-10-10  25

关于r - 在r中使用group_by函数后如何选择最低值或删除重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54044120/

相关文章:

php - 重组数组的最快方法?

r - 在 ggplot2 中显示每第 n 行名称

r - 在 R 中用 mutate_at 覆盖很多列?

r - 使用 R 访问列表中的项目,在拆分和应用后组合

css - 如何在标签右侧垂直居中绘制水平线

r - 如何使用多个条件计算 base R 或 dplyr 中的元素分组?

r Blastula curl::curl_fetch_memory(url,handle = h)中的错误:MAIL失败:530

r - 将数据框转换为命名向量

javascript - 如何从 javascript 调用 R 代码

r - Tidyeval:将列列表作为 quosure 传递给 select()