dplyr table reconstructing/data 争吵
dplyr table reconstructing/data wrangling
我正在尝试创建一个变量来定义真与假搜索。原始数据集位于此处:https://github.com/wikimedia-research/Discovery-Hiring-Analyst-2016/blob/master/events_log.csv.gz
基本情况是,有一些变量定义了用户(由原始数据集中的 ID - session_id 或 uuid 定义)执行真搜索与假搜索的次数,例如访问总是在搜索之前进行,但搜索之后不一定要进行访问。如果您检查原始数据集,还有一个时间变量 timestamp,我不知道如何复制它,但我相信它会很有用。
原始结构的粗略版本:
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
这会使用 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
我正在尝试创建一个变量来定义真与假搜索。原始数据集位于此处:https://github.com/wikimedia-research/Discovery-Hiring-Analyst-2016/blob/master/events_log.csv.gz
基本情况是,有一些变量定义了用户(由原始数据集中的 ID - session_id 或 uuid 定义)执行真搜索与假搜索的次数,例如访问总是在搜索之前进行,但搜索之后不一定要进行访问。如果您检查原始数据集,还有一个时间变量 timestamp,我不知道如何复制它,但我相信它会很有用。
原始结构的粗略版本:
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
这会使用 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