【发布时间】:2018-07-25 19:19:11
【问题描述】:
我正在尝试创建一个变量来定义真假搜索。原始数据集位于:https://github.com/wikimedia-research/Discovery-Hiring-Analyst-2016/blob/master/events_log.csv.gz
基本场景是有一些变量定义了用户(由 ID - 原始数据集中的 session_id 或 uuid 定义)执行真搜索与假搜索的次数,这样访问之前总是有一个搜索,但搜索后不一定要访问。如果您检查原始数据集,还有一个时间变量时间戳,我不知道如何复制,但我相信它会很有用。
原始结构的粗略版本:
ID Action Time
a search 1
a visit 2
a search 3
a visit 4
b visit 2
b visit 3
b search 1
c search 5
c search 6
c search 7
c visit 8
d search 3
d search 4
我正在尝试创建一个变量来定义真假搜索。 上述数据预计按Action = search only排序如如下格式:
我正在尝试制作的结构:
ID Action ClickThrough
a search T
a search T
b search T
c search F
c search F
c search T
d search F
d search F
【问题讨论】:
-
b搜索TRUE怎么样?如果这是一个错字,您可以使用actions %>% group_by(ID) %>% mutate(ClickThrough = lead(Action, default = 'left') == 'visit') %>% filter(Action == 'search') -
@alistaire 第三个 b 是搜索,之后可以访问。行动不妥。
-
那么你的数据中需要时间信息。
-
@alistaire 你认为这样可以吗?
actions %>% group_by(ID) %>% arrange(ID, time) %>% mutate(ClickThrough = lead(Action, default = 'left') == 'visit') %>% filter(Action == 'search') -
不知道
time是什么很难说。您需要编辑您的问题以使您的示例可重现。
标签: r dplyr tidyr data-cleaning