【问题标题】:dplyr table reconstructing/data wranglingdplyr 表重建/数据整理
【发布时间】: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


【解决方案1】:

这会使用dplyr 产生预期的输出

library(dplyr)
df1 %>%
  arrange(ID,Time) %>%
  group_by(ID) %>%
  mutate(ClickThrough = c(as.logical(diff(Action=="visit")),FALSE)) %>%
  filter(Action=="search")

# # A tibble: 8 x 4
# # Groups:   ID [4]
#      ID Action  Time ClickThrough
#   <chr>  <chr> <int>        <lgl>
# 1     a search     1         TRUE
# 2     a search     3         TRUE
# 3     b search     1         TRUE
# 4     c search     5        FALSE
# 5     c search     6        FALSE
# 6     c search     7         TRUE
# 7     d search     3        FALSE
# 8     d search     4        FALSE

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-12
    • 2019-05-27
    • 1970-01-01
    • 2014-11-22
    • 1970-01-01
    相关资源
    最近更新 更多