为独特的观察组合创建数据值

时间:2014-02-26 04:25:16

标签: r

我正在使用R并且有兴趣查找在访问期间查看的所有产品的独特组合。产品由product_key标识,visit_key访问。在下面的数据中,visit_key = 1查看一个产品= pk_18280。 Visit_key = 28是第2-4行并查看三个产品(pk_57716,pk_1820,pk_14501)。查看产品的顺序对我的分析并不重要(而且,任何排序都应该导致相同的分组)。

我想要的是一个专栏,可用于查找仅查看pk_18280(如visit_key = 1)或查看所有三个产品(如visit_key = 28)的所有访问。

提前致谢!

    visitor_key visit_num product_key product_viewed orders visit_key
1         vid_1         1    pk_18280              1      0         1
2         vid_1         2    pk_57716              1      0        28
3         vid_1         2    pk_18280              1      1        28
4         vid_1         2    pk_14501              1      0        28
5         vid_1         3    pk_18280              1      0        37
6         vid_3         1    pk_18151              1      1         2
7         vid_3         1     pk_2467              1      0         2
8         vid_3         1      pk_967              1      0         2
9         vid_4         1   pk_138381              1      0         3
10        vid_4         1   pk_137338              1      0         3
11        vid_4         1   pk_137117              1      0         3

1 个答案:

答案 0 :(得分:0)

对于问题的第一部分,请调用data.frame df

library(data.table)
dt <- data.table(df)
Prod <- dt[,list("product_keys"=paste(product_key,collapse=",")),by=visit_key]

这将生成一个唯一visit_key的表格,并粘贴所有查看过的产品。可以通过对visit_key

进行分组来查找每个product_key组的所有Prod的列
Key <- Prod[,list("visit_keys"=paste(visit_key,collapse=",")),by=product_keys]