私は購入トランザクションのデータセットを持っています。以下は、説明のためのダミーデータセットです。私は、最も頻繁な購入シーケンスを得るために、どのようにリシェイプ/キャストを行うのかを考えようとしています。頻繁なシーケンスの統計
require(data.table)
MainID=c('A1','A1','A2','C1','C1','C1','D2','D2','D2','A1','D2')
Purchase=c('A','B','C','A','A','D','E','B','C','E','E')
Date=c('1/1/2014','5/23/2015','6/12/2015','3/3/2013','5/5/2014','7/21/2014','1/3/2016','4/5/2016','7/7/2016','6/27/2016')
df=data.table(MainID,Purchase,Date)
head(df)
MainID Purchase Date
1: A1 A 1/1/2014
2: A1 B 5/23/2015
3: A2 C 6/12/2015
4: C1 A 3/3/2013
5: C1 A 5/5/2014
6: C1 D 7/21/2014
ここでは、2つのペアのシーケンスを複数の組み合わせで開始します。上のデータセットの場合と同様に、ユニークなシーケンスペアがセットされています。(AはBにつながり、BはCにつながり、AはDにつながり、EはBにつながり、最後のCはEにつながります。) ここではAをA - 私は同じ製品ではない異なる製品のシーケンスを見ています。したがって、出力では、それらの類似した製品シーケンスをすべて無視したいと考えています。必要な
出力:
Pair Occurrence No of customers % confidence
A leads to B 1 3 1/3
B leads to C 2 3 2/3
A leads to D 1 3 1/3
E leads to B 1 3 1/3
C leads to E 2 3 2/3
私はシーケンシングアルゴリズムの承知していますが、私はここにいくつかの基本的な記述分析で探しています。
データから必要な出力を得る方法がわかりません。同じ購入のシーケンスですか?購入を次の行と組み合わせたいですか? MainIDの最初の文字は重要ですか? – FlorianGD
メインIDは一意の識別子であり、A、B、C、D、Eはダミープロダクトです。データの順序は混在していても、必ずしも次の行にあるとは限りません。だから全体的に私は、IDレベルで購入を集計し、日付ごとに注文してから、彼がどのような購入の順序を見ているかを見たいと思う。たとえば、上記のA1顧客は、私はこのように私は各顧客のためのすべての可能なシーケンスを計算し、いずれが最も発生しているのかを知りたいのですが、(私が最後に購入したように(AからB、BからC、そしてCからEへ)集約されたレベルで。 – Pb89
3番目の要素のA2がメインIDとして入力されていますか?日付も欠落しています – FlorianGD