在 R 中创建序列模式
Create sequence pattern in R
我有这个数据框。
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
来自这个数据框
我需要得到下面的序列数据集。
id Item
100 A,B,A
101 C,B
103 D,A
如何在 R 中实现?使用 arulesSequence
包或其他方法?
请朋友们帮帮我。
提前致谢...
您可以按 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
我有这个数据框。
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
来自这个数据框
我需要得到下面的序列数据集。
id Item
100 A,B,A
101 C,B
103 D,A
如何在 R 中实现?使用 arulesSequence
包或其他方法?
请朋友们帮帮我。 提前致谢...
您可以按 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