首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >条件滞后函数

条件滞后函数
EN

Stack Overflow用户
提问于 2019-08-26 21:19:42
回答 2查看 163关注 0票数 1

数据基于Kaggle here的数据集,并提取到R.

使用以下结构:

代码语言:javascript
复制
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>

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-08-26 21:50:57

这就是你要做的吗?

代码语言:javascript
复制
library(dplyr)

df %>%
  group_by(VisitorId, VisitId) %>%
  mutate(prev_path = ifelse(lag(`Hit#`) == `Hit#` - 1, lag(pagePath), NA))
票数 2
EN

Stack Overflow用户

发布于 2019-08-26 21:27:49

我们可以做一个group_by选项

代码语言:javascript
复制
library(dplyr)
df1 %>%
   group_by(VisitorId, VisitId) %>%
   mutate(prev_path = case_when(lag(`Hit#`) == `Hit#` -1 ~ lag(pathPath), 
            TRUE ~ NA_integer_))
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57658738

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档