データセットtest
については、私の目的は、期間ごとに1つの期間から次の期間に繰り越されたユニークユーザーの数を調べることです。Rの単純な保持の計算R
> 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
たとえば、最初の期間に4人のユニークユーザー(1,3,4,5)があり、そのうちの2人が2番目の期間にアクティブでした。したがって、保持率は0.5となる。第2の期間には3人のユニークユーザーがいて、そのうちの2人が第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")
が、それは良いことではないだろうユニークなuser_idsの長さですか?ユーザーがある期間に2回出現した場合でも、1人の返信ユーザーとしてカウントされます。 –
@giac_manデフォルトでは、 'intersect'は重複を削除します。そのため、操作が既に含まれているので' unique'を追加する必要はありません。 – Lamia
ああ、そうだ。ありがとう –