从数据框中获取点击流序列
Getting clickstream sequence from data frame
我有一个点击流 .csv
这种格式的数据文件:
Step_Name Session_ID
p-1 1
p-2 1
defer 1
p-1 2
p-3 2
buy 2
p-4 3
defer 3
我正在尝试使用 R 中的 clickstream
包进行分析。这个包需要我们把上面的数据转换成这样的格式:
1 p-1 p-2 defer
2 p-1 p-3 buy
3 p-4 defer
其中第一列是会话 ID,每个会话的列数可能会有所不同,具体取决于网站用户执行的步数。如何将初始数据转换为上述格式(excel 或 R)?
此外,如果有其他方法可以在不进行此类数据操作的情况下分析 R 中的点击流数据,请告诉我。
使用 data.table,加载您的数据:
> library(data.table)
> df = data.table('Step_Name' = c('p-1', 'p-2', 'defer','p-1','p-3','buy','p-4','defer'), 'Session_ID' = c(rep(1,3),rep(2,3),rep(3,2)))
> df
Step_Name Session_ID
1: p-1 1
2: p-2 1
3: defer 1
4: p-1 2
5: p-3 2
6: buy 2
7: p-4 3
8: defer 3
添加一个行号 ID,为每个新的 Session_ID
重新启动。
> df[, id := seq_len(.N), by = Session_ID]
投出你的数据table:
> df_final = dcast(df, Session_ID ~ id, value.var = 'Step_Name')
你想要的结果:
> df_final
Session_ID 1 2 3
1: 1 p-1 p-2 defer
2: 2 p-1 p-3 buy
3: 3 p-4 defer <NA>
注意:这取决于您的数据在 Session_ID
内是否有序。
我有一个点击流 .csv
这种格式的数据文件:
Step_Name Session_ID
p-1 1
p-2 1
defer 1
p-1 2
p-3 2
buy 2
p-4 3
defer 3
我正在尝试使用 R 中的 clickstream
包进行分析。这个包需要我们把上面的数据转换成这样的格式:
1 p-1 p-2 defer
2 p-1 p-3 buy
3 p-4 defer
其中第一列是会话 ID,每个会话的列数可能会有所不同,具体取决于网站用户执行的步数。如何将初始数据转换为上述格式(excel 或 R)?
此外,如果有其他方法可以在不进行此类数据操作的情况下分析 R 中的点击流数据,请告诉我。
使用 data.table,加载您的数据:
> library(data.table)
> df = data.table('Step_Name' = c('p-1', 'p-2', 'defer','p-1','p-3','buy','p-4','defer'), 'Session_ID' = c(rep(1,3),rep(2,3),rep(3,2)))
> df
Step_Name Session_ID
1: p-1 1
2: p-2 1
3: defer 1
4: p-1 2
5: p-3 2
6: buy 2
7: p-4 3
8: defer 3
添加一个行号 ID,为每个新的 Session_ID
重新启动。
> df[, id := seq_len(.N), by = Session_ID]
投出你的数据table:
> df_final = dcast(df, Session_ID ~ id, value.var = 'Step_Name')
你想要的结果:
> df_final
Session_ID 1 2 3
1: 1 p-1 p-2 defer
2: 2 p-1 p-3 buy
3: 3 p-4 defer <NA>
注意:这取决于您的数据在 Session_ID
内是否有序。