さまざまなユーザー (USER) のデータ フレームがあります。各ユーザーには異なるアイテム (ITEM) があります。
USER DATE ITEM
A 1 alpha
A 1 beta
A 1 gamma
A 2 alpha
A 2 gamma
A 4 beta
A 4 gamma
B 1 alpha
B 1 beta
...
さまざまな長さのアイテムのさまざまな組み合わせについて、特定の組み合わせを持つユーザーの数を数えたいと思います。
出力は次のようになります。
amount_of_users combination_of_items
2 (alpha,beta)
1 (alpha,gamma)
1 (beta,gamma)
1 (alpha, beta, gamma)
ユーザーがアイテム alpha を持っている場合、2、3、4 アイテムの任意の組み合わせがカウントされ、他のアイテムと一緒にアイテムを獲得したことは明らかであるため、同じ日に表示されるはずです。
更新: DWin が正しく述べたように、私が達成しようとしていることは明確ではありませんでした。1 人のユーザーにアルファ、ベータ、ガンマのアイテムを持たせます。次に、このユーザーをそのサブセットの各カウントに追加する必要があります。つまり、(alpha,beta) (beta,gamma) (alpha,gamma) と最後に (alpha, beta, gamma) の組み合わせはすべて count+1 になります。
それまでの間、私の主なターゲット (アルファなどの特定の ITEM に追加される、最も顕著な ITEMS を確認したい) については、テーブルと colSums を使用して、ユーザーの数を数えることができると考えました。非常に悪い解決策ですが、最も多く追加されているアイテムを示しています。
levels(x$TARGETGROUP)[c(8,15:17,39,41,57,58,61)] <- c("HOME")
levels(x$TARGETGROUP)
dings <- table(x[,1],x[,3])
str(dings)
#i saw, that the 8th column contains item I needed.
haeuf <- colSums(dings[dings[,8]!=0, ])