我的数据框有客户 ID、产品和日期。我需要创建一个列,每次 customerID 或日期更改时都会生成交易 ID。
我的数据框目前看起来像:
- 客户 ID-产品--日期
- 23-------------abv--------12-12-14
- 23-------------政府飞行服务处--------12-12-14
- 18-------------格拉--------12-12-14
- 52-------------我们--------14-12-14
- 23-------------qwe--------16-12-14
我需要使用 r 填充 transactionID 列
- 客户ID-产品--日期----------交易ID
- 23-------------abv--------12-12-14----1
- 23-------------gfs--------12-12-14----1
- 18-------------格拉--------12-12-14----2
- 52-------------我们--------14-12-14----3
- 23-------------qwe------16-12-14----4
我有 csv 文件中的数据。我无法在 Excel 中创建此列,因为文件太大并且 Excel 无法打开整个文件。
感谢您的帮助!
根据您对我的评论的回复,您可能还感兴趣.GRP
来自“数据.表”:
library(data.table)
## In case rows get out of order
DT <- as.data.table(df, keep.rownames = TRUE)
DT[, transactionID := .GRP, by = list(CustomerID, date)][]
rn CustomerID Product date transactionID
1: 1 23 abv 12-12-14 1
2: 2 23 gfs 12-12-14 1
3: 3 18 gra 12-12-14 2
4: 4 52 wer 14-12-14 3
5: 5 23 qwe 16-12-14 4
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)