r - 如何在 sparklyr 中获取每组的最后 N 行?
问题描述
我有一个带有列 id、类别、时间戳、价格列的 spark 数据框。我想按客户 ID 对数据进行分组,按时间戳对类别进行排序,并获取每个组中的最后 n 行。
我尝试了下面的代码,但它只为整体数据重新调整了 3 行。
a <- data1 %>% dplyr::group_by(customer_id, category) %>% dplyr::arrange(dplyr::desc(timestamp)) %>% head(., n = 3)
请提出一个有效的解决方案
解决方案
如果没有示例数据,我们无法知道这是否可行。
在Base R
data1 <- data1[order(data1$timestamp),]
lapply(split(data1,data1$customer_ID), tail, n=5)
推荐阅读
- verilog - 系统verilog中的通配符及其可综合性
- node.js - Azure Web App (Linux - Node v12 LTS) - 403 请求标头太长
- c# - 使用实际上是列表的类对象数组
- json - Terraform:如何通过 json 文件迭代地图输入的键值对
- reactjs - Redux 状态加载,但反应不渲染
- node.js - 在我的基于 NodeJS 的 lambda 中,无法在回调 getSignedUrl 时调用 AWS SES sendEmail 函数
- hibernate - 使用 AND/OR 组合的休眠条件
- java - 我的快速排序方法有一个基本案例,但我仍然收到堆栈溢出错误?
- node.js - 如何使用 Sequelize 在表(复合键)之间创建关联?
- sql - T-sql,运行名称存储在字符串变量中的函数......使用 exec 之类的东西......并捕获返回值