gpt4 book ai didi

在数据框中的组内运行计数

转载 作者:行者123 更新时间:2023-12-04 21:56:44 25 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





Numbering rows within groups in a data frame

(9 个回答)


5年前关闭。




我有一个在线购物平台的订单数据库。

我正在处理的表格如下所示,其中每一行对应一个客户/项目/日期。

OrderHistory <- data.frame(date=c("2015-02-01", "2015-03-01", "2015-04-01", "2015-03-01", "2015-04-01", "2015-05-01", "2015-05-01"), 
customer=c("A","A","A","B","B","B","B"),
item=c("Candy", "Coffee", "Coffee", "Candy", "Candy", "Candy", "Coffee" ))

我想得到的是每个成员订购特定商品的次数的运行计数,以便我可以运行分析哪些商品由相同的客户重复订购,哪些商品只订购了一次,再也不会订购。

输出看起来像
out <- data.frame(date=c("2015-02-01", "2015-03-01", "2015-04-01", "2015-03-01", "2015-04-01", "2015-05-01", "2015-05-01"), 
member=c("A","A","A","B","B","B","B"),
item=c("Candy", "Coffee", "Coffee", "Candy", "Candy", "Candy", "Coffee" ),
count=c(1,1,2,1,2,3,1))

我会喜欢 dplyr 解决方案,但我愿意接受任何建议!平台上的确切项目不断变化,因此解决方案必须是动态的才能解决这个问题。

最佳答案

我相信这应该给你你想要的

library(dplyr)
OrderHistory %>%
group_by(customer, item) %>%
mutate(count = seq(n()))

Source: local data frame [7 x 4]
Groups: customer, item

date customer item count
1 2015-02-01 A Candy 1
2 2015-03-01 A Coffee 1
3 2015-04-01 A Coffee 2
4 2015-03-01 B Candy 1
5 2015-04-01 B Candy 2
6 2015-05-01 B Candy 3
7 2015-05-01 B Coffee 1

关于在数据框中的组内运行计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30491497/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com