对于数据集test
,我的目标是逐个周期地找出有多少唯一用户从一个时期转移到下一个时期。
> test
user_id period
1 1 1
2 5 1
3 1 1
4 3 1
5 4 1
6 2 2
7 3 2
8 2 2
9 3 2
10 1 2
11 5 3
12 5 3
13 2 3
14 1 3
15 4 3
16 5 4
17 5 4
18 5 4
19 4 4
20 3 4
例如,在第一个时期有四个唯一用户(1、3、4 和 5),其中两个在第二个时期是活跃的。因此,保留率将是 0.5。在第二个时期有 3 个独立用户,其中两个在第三个时期是活跃的,因此保留率为 0.666,以此类推。如何找到在下一时期活跃的唯一用户的百分比?任何建议,将不胜感激。
输出如下:
> output
period retention
1 1 NA
2 2 0.500
3 3 0.666
4 4 0.500
test
数据:
> dput(test)
structure(list(user_id = c(1, 5, 1, 3, 4, 2, 3, 2, 3, 1, 5, 5,
2, 1, 4, 5, 5, 5, 4, 3), period = c(1, 1, 1, 1, 1, 2, 2, 2, 2,
2, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4)), .Names = c("user_id", "period"
), row.names = c(NA, -20L), class = "data.frame")