在R中创建序列模式

时间:2015-09-07 17:29:40

标签: r transactions

我有这个数据框。

 id Trans_Date  Item
100  11/3/2013     A
100  11/3/2013     B
100  18/3/2013     A
101  17/3/2013     C
101  21/3/2013     B
103  12/3/2013     D
103  14/3/2013     A

来自此数据框

我需要在ordercial数据集之下。

 id  Item
100 A,B,A
101   C,B
103   D,A

如何在R中执行此操作?使用arulesSequence包或其他方法?

请帮帮我朋友。 在此先感谢...

1 个答案:

答案 0 :(得分:3)

您可以按id进行分组,然后使用toString()。这是一个基础R解决方案:

aggregate(Item ~ id, df, toString)
#    id    Item
# 1 100 A, B, A
# 2 101    C, B
# 3 103    D, A

或使用 data.table

library(data.table)
as.data.table(df)[, toString(Item), by = id]
    id      V1
# 1: 100 A, B, A
# 2: 101    C, B
# 3: 103    D, A

或者如果您更喜欢 dplyr

library(dplyr)
summarise(group_by(df, id), Item = toString(Item))
# Source: local data frame [3 x 2]
#
#      id    Item
#   (int)   (chr)
# 1   100 A, B, A
# 2   101    C, B
# 3   103    D, A