【发布时间】:2020-04-29 20:55:18
【问题描述】:
我有一个数据集,其中包含多次访问的唯一网站。我有一个站点 ID 列和一个日期列。我想在每个唯一的站点 ID 中生成一个访问列,该列为第一个日期分配 1,为第二个日期分配 2,等等......每次访问网站时。这是我的输入数据的样子:
df<- data.frame(id = c("A, "A, "A, "B", "B", "B", "C"),
date = c("05-01-2012", "05-12-2012", "05-20-2012", "05-01-2012", "05-01-2012",
"05-11- 2012", "05-07-2012"))
id date
A 05-01-2012
A 05-12-2012
A 05-20-2012
B 05-01-2012
B 05-01-2012
B 05-11-2012
C 05-07-2012
这是我想要生成的:
id date visit
A 05-01-2012 1
A 05-12-2012 2
A 05-20-2012 3
B 05-01-2012 1
B 05-01-2012 1
B 05-11-2012 2
C 05-07-2012 1
我已经尝试过df_%>% group_by(id) %>%summarise(visit=(setDT(df)[, visit := .GRP, by = date])),但它为每个日期分配了一个唯一的访问值,但不在一个 ID 内,所以我的访问值只是不断攀升,而不是为每个新 ID 从 1 重新开始。
感谢您的帮助!
【问题讨论】:
标签: r