用户旅程路径

时间:2016-02-15 09:46:37

标签: r string text-analysis

我有以下数据集:

     ID   IntNo   Conv          Path
 743479       4      0      homepage
 743479       3      0         page1
 743479       2      0         page2
 743479       1      0         page3
 743479       0      1         page4
 746523       2      0      homepage
 746523       1      0         page3
 746523       0      1         page4
1225709       1      0      homepage
1225709       0      1         page4

我想得到这样的输出:

Path                                 Conv
homepage>page1>page2>page3>page4        1
homepage>page3>page4                    1
homepage>page4                          1

为此,我使用了以下代码:

users_path <-  lapply(unique(datset$ID), 
                function(x)  list( path= paste(dataset[dataset$ID==x,'Path'],  sep="", collapse=">"), 
                                   total_conversions= length( datset[dataset$ID==x,'Path']) ) )

users_path<-do.call('rbind', users_path)
users_path<-data.frame(users_path)

但我得到的输出如下:

Path   Total_conversions
Path                   1
Path                   1
Path                   1

你能帮我识别错误吗?

2 个答案:

答案 0 :(得分:1)

如果您的数据在data.table中,则会执行以下操作:

library(data.table)

dt <- as.data.table(df)
dt[, list(Path = paste(Path, sep="", collapse=">")), by = ID][, list(Total_conversions = .N), by = Path]

答案 1 :(得分:-2)

对不起,

代码是对的。我把表读作data.table。

 dataset<-data.frame(dataset)

将其转换为数据帧后,我的功能运行良好。

users_path <-  lapply(unique(datset$ID), 
            function(x)  list( path= paste(dataset[dataset$ID==x,'Path'],  sep="", collapse=">"), 
                               total_conversions= length( datset[dataset$ID==x,'Path']) ) )
users_path<-do.call('rbind', users_path)

提供帮助