以下に示すようなサンプルデータセットがあります。
tc <- textConnection('
path touchpoint time
abc A 1
abc A 2
abc B 3
abc C 4
def A 2
def B 3
def D 4
def C 5
def D 6
ghi A 1
ghi A 2
ghi A 3
ghi C 4
jkl A 5
jkl A 6
jkl B 7
jkl C 8
mno B 1
mno A 2
mno A 3
mno C 4
pqr A 1
pqr C 2
test "touchpoint A" 1
test "touchpoint-B" 2
')
paths <- read.table(tc, header=TRUE)
パスの概要を作成し、パスが発生する回数を数えたいと思います。touchpoints
を形成する接点ですpath
。それぞれpath
は、列に示されている文字(または文字のセット)によって識別されますpath
。たとえば、path
abcにはタッチポイントA、A、B、Cが含まれています。出力として、すべての異なるタッチポイントのパスの概要とその数を示します。
1つのパスに多数の異なるタッチポイントを含めることができるため、この出力テーブルの幅は固定されていません。したがって、最初の列にカウントを入れたいと思います。他の2つの制約は次のとおりです。
- パスは時間に基づいて作成されます。時間の最も短いタッチポイントが常に最初に来る必要があります。
- 後で同じインスタンスからのタッチポイントがある場合(つまりAA)、概要よりもA、より理想的にはA(2x)として表示する必要があります
どこから始めたらいいのかわからない。
この例で期待される出力は次のとおりです。
freq 1 2 3 4 5
2 A B C
2 A C
1 A B D C D
1 B A C
1 "touchpoint A" "touchpoint-B"
より理想的な出力は次のとおりです。
freq 1 2 3 4 5
2 A (2x) B C
1 A B D C D
1 A (3x) C
1 B A (2x) C
1 A (2x) C
1 "touchpoint A" "touchpoint-B"
列名1からNは、タッチポイントが1番目、2番目、またはN番目のいずれであるかを示すために選択されます。ghi
「理想的な」出力では、提供される最初の出力のジャーニーが同じであるため、さらに1つのジャーニーが表示されることに注意してくださいpqr
(AACはそこでACになります)。