如何获取每组最大值的所有记录

瑞奇

我有一个数据表如下:

   user                time follow_group
1:    1 2017-09-01 00:01:01            1
2:    1 2017-09-01 00:01:20            1
3:    1 2017-09-01 00:03:01            1
4:    1 2017-09-01 00:10:01            2
5:    1 2017-09-01 00:11:01            2
6:    2 2017-09-01 00:01:03            1
7:    2 2017-09-01 00:01:08            1
8:    2 2017-09-01 00:03:01            1

从这里我想为每个用户获取所有具有最高 follow_group 的记录

所以我所做的是

data[max(follow_group), , by = list(user)] 

但这给我带来了一个错误

Error in `[.data.table`(data, max(follow_group),  : 
  'by' or 'keyby' is supplied but not j

任何帮助表示赞赏。谢谢。

亚兰

你可以这样做data.table

library(data.table)
setDT(df)[, .SD[follow_group == max(follow_group)], by = user] 

或者这与dplyr

library(dplyr)
df %>%
  group_by(user) %>%
  filter(follow_group == max(follow_group))

结果:

   user                time follow_group
1:    1 2017-09-01 00:10:01            2
2:    1 2017-09-01 00:11:01            2
3:    2 2017-09-01 00:01:03            1
4:    2 2017-09-01 00:01:08            1
5:    2 2017-09-01 00:03:01            1

# A tibble: 5 x 3
# Groups:   user [2]
   user                time follow_group
  <int>               <chr>        <int>
1     1 2017-09-01 00:10:01            2
2     1 2017-09-01 00:11:01            2
3     2 2017-09-01 00:01:03            1
4     2 2017-09-01 00:01:08            1
5     2 2017-09-01 00:03:01            1

数据:

df = structure(list(user = c(1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L), time = c("2017-09-01 00:01:01", 
"2017-09-01 00:01:20", "2017-09-01 00:03:01", "2017-09-01 00:10:01", 
"2017-09-01 00:11:01", "2017-09-01 00:01:03", "2017-09-01 00:01:08", 
"2017-09-01 00:03:01"), follow_group = c(1L, 1L, 1L, 2L, 2L, 
1L, 1L, 1L)), class = "data.frame", .Names = c("user", "time", 
"follow_group"), row.names = c(NA, -8L))

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

每组返回单个记录,最大值

来自分类Dev

从SELECT查询中获取具有最大值的记录

来自分类Dev

LINQ查询以获取具有最大值的记录

来自分类Dev

如何获取两个日期之间的所有最大值或最小值

来自分类Dev

如何获取上一条记录/最大值

来自分类Dev

获取R向量中的所有最大值索引

来自分类Dev

根据列最大值获取记录

来自分类Dev

如何获得向量中所有分量的最大值?

来自分类Dev

如何获取与数组 B 中唯一值对应的数组 A 中所有最大值的索引?

来自分类Dev

如何使用Python获取具有最大值的行?

来自分类Dev

获取具有最大值的记录并显示该记录中的其他字段

来自分类Dev

如何获取最新记录或在mysql的列中具有所有不同值的最大对应日期的记录?

来自分类Dev

返回每组最大值的行

来自分类Dev

返回所有组的最大值?

来自分类Dev

为所有记录选择一个最大值

来自分类Dev

获取具有最大值的行

来自分类Dev

从列中获取最大值,并提取至少包含该值20%的所有行

来自分类Dev

从具有公共列的记录集中获取最大值

来自分类Dev

在二维网格(多维列表)中获取具有最大值的所有图块

来自分类Dev

使用mongodb中的聚合获取所有具有最大值的文档

来自分类Dev

使用mongodb中的聚合获取所有具有最大值的文档

来自分类Dev

PostgreSQL-获取具有最小最大值的所有行

来自分类Dev

从 Scala 映射中获取所有具有最大值的键值对

来自分类Dev

如何从数组php获取最大值

来自分类Dev

NHibernate查询以获取与列的最大值匹配的记录

来自分类Dev

在熊猫数据透视表中获取所有相应的最大值

来自分类Dev

从行窗口获取最大值作为所有行的新列

来自分类Dev

获取公共列4的所有1-3列的最大值

来自分类Dev

如何在列表中找到所有局部最大值和最小值

Related 相关文章

  1. 1

    每组返回单个记录,最大值

  2. 2

    从SELECT查询中获取具有最大值的记录

  3. 3

    LINQ查询以获取具有最大值的记录

  4. 4

    如何获取两个日期之间的所有最大值或最小值

  5. 5

    如何获取上一条记录/最大值

  6. 6

    获取R向量中的所有最大值索引

  7. 7

    根据列最大值获取记录

  8. 8

    如何获得向量中所有分量的最大值?

  9. 9

    如何获取与数组 B 中唯一值对应的数组 A 中所有最大值的索引?

  10. 10

    如何使用Python获取具有最大值的行?

  11. 11

    获取具有最大值的记录并显示该记录中的其他字段

  12. 12

    如何获取最新记录或在mysql的列中具有所有不同值的最大对应日期的记录?

  13. 13

    返回每组最大值的行

  14. 14

    返回所有组的最大值?

  15. 15

    为所有记录选择一个最大值

  16. 16

    获取具有最大值的行

  17. 17

    从列中获取最大值,并提取至少包含该值20%的所有行

  18. 18

    从具有公共列的记录集中获取最大值

  19. 19

    在二维网格(多维列表)中获取具有最大值的所有图块

  20. 20

    使用mongodb中的聚合获取所有具有最大值的文档

  21. 21

    使用mongodb中的聚合获取所有具有最大值的文档

  22. 22

    PostgreSQL-获取具有最小最大值的所有行

  23. 23

    从 Scala 映射中获取所有具有最大值的键值对

  24. 24

    如何从数组php获取最大值

  25. 25

    NHibernate查询以获取与列的最大值匹配的记录

  26. 26

    在熊猫数据透视表中获取所有相应的最大值

  27. 27

    从行窗口获取最大值作为所有行的新列

  28. 28

    获取公共列4的所有1-3列的最大值

  29. 29

    如何在列表中找到所有局部最大值和最小值

热门标签

归档