数据基于Kaggle here的数据集,并提取到R.
使用以下结构:
Index VisitorId VisitId Visit# Hit# pagePath
0 000722514342430295 1470093727 1 1 /home
1 000722514342430295 1470093727 1 3 /google+redesign/apparel
2 000722514342430295 1470093727 1 4 /asearch.html
3 000722514342430295 1470093727 1 5 /asearch.html
4 0014659935183303341 1470037282 1 1 /home
5 0015694432801235877 1470043732 1 1 /home
6 0015694432801235877 1470043732 1 2 /google+redesign/electronics
7 0015694432801235877 1470043732 1 3 /google+redesign/apparel/men++s/men++s+t+shirts
8 0015694432801235877 1470043732 1 4 /google+redesign/apparel/kid+s/kid+s+infant
9 0015694432801235877 1470043732 1 5 /google+redesign/apparel/kid+s/kid+s+infant/quickview我正在尝试实现一个变异滞后函数,它将为给定访问者的给定访问返回前一个页面路径。
例如,新的列prev_path将是visitorid和visitid特定的,并且将滞后Hit# 1,但是当在访问1,命中2的情况下不可用时,将返回<NA>。
发布于 2019-08-26 21:50:57
这就是你要做的吗?
library(dplyr)
df %>%
group_by(VisitorId, VisitId) %>%
mutate(prev_path = ifelse(lag(`Hit#`) == `Hit#` - 1, lag(pagePath), NA))发布于 2019-08-26 21:27:49
我们可以做一个group_by选项
library(dplyr)
df1 %>%
group_by(VisitorId, VisitId) %>%
mutate(prev_path = case_when(lag(`Hit#`) == `Hit#` -1 ~ lag(pathPath),
TRUE ~ NA_integer_))https://stackoverflow.com/questions/57658738
复制相似问题