R 如何按用户将网站活动分组为会话?
假设我有一个这样的数据框架,其中有两个用户和一些已经按会话分组的网站活动 图书馆(dplyr)R 如何按用户将网站活动分组为会话?,r,dplyr,R,Dplyr,假设我有一个这样的数据框架,其中有两个用户和一些已经按会话分组的网站活动 图书馆(dplyr) df您可以使用dplyr进行以下操作: library(dplyr) df %>% group_by(user) %>% mutate(session = cumsum(ifelse(activity == "new", 1, 0))) # A tibble: 10 x 3 # Groups: user [2] user activity session <
df您可以使用dplyr
进行以下操作:
library(dplyr)
df %>%
group_by(user) %>%
mutate(session = cumsum(ifelse(activity == "new", 1, 0)))
# A tibble: 10 x 3
# Groups: user [2]
user activity session
<chr> <chr> <dbl>
1 A new 1
2 A same 1
3 A same 1
4 A new 2
5 A same 2
6 B new 1
7 B new 2
8 B same 2
9 B same 2
10 B new 3
库(dplyr)
df%>%
分组依据(用户)%>%
变异(会话=cumsum(ifelse(activity==“new”,1,0)))
#一个tibble:10x3
#分组:用户[2]
用户活动会话
1新的1
2相同的1
3相同的1
4新的2
5 A相同的2
6 B新的1
7 B新的2
8 B同样的2
9 B同样的2
10 B新的3
您是否有办法区分数据中的第6-9行(针对用户B)?我是否可以按用户和会话分组?基本上是-分别@桑尼溶液很好;但我想知道你如何判断第8行对于第6行还是第7行是“B”“相同”“新”“你可以将其简化为。。。变异(会话=cumsum(活动=new))
df_marked <- tibble(user = c("A", "A", "A", "A", "A", "B", "B", "B", "B", "B"),
activity = c("new", "same", "same", "new", "same", "new", "new", "same", "same", "new"),
session = c(1, 1, 1, 2, 2, 1, 2, 2, 2, 3))
library(dplyr)
df %>%
group_by(user) %>%
mutate(session = cumsum(ifelse(activity == "new", 1, 0)))
# A tibble: 10 x 3
# Groups: user [2]
user activity session
<chr> <chr> <dbl>
1 A new 1
2 A same 1
3 A same 1
4 A new 2
5 A same 2
6 B new 1
7 B new 2
8 B same 2
9 B same 2
10 B new 3