首页 > 解决方案 > 如何在 sparklyr 中获取每组的最后 N 行?

问题描述

我有一个带有列 id、类别、时间戳、价格列的 spark 数据框。我想按客户 ID 对数据进行分组,按时间戳对类别进行排序,并获取每个组中的最后 n 行。

我尝试了下面的代码,但它只为整体数据重新调整了 3 行。
a <- data1 %>% dplyr::group_by(customer_id, category) %>% dplyr::arrange(dplyr::desc(timestamp)) %>% head(., n = 3)

请提出一个有效的解决方案

标签: rdplyrtidyversesparklyr

解决方案


如果没有示例数据,我们无法知道这是否可行。

Base R

data1 <- data1[order(data1$timestamp),]
lapply(split(data1,data1$customer_ID), tail, n=5)

推荐阅读