对于R来说,我是初学者。但是,我想了解更多。我试图进行市场平台分析。
这是我的原始数据,我想将其转换为交易篮子格式:
这就是我想要实现的目标:
我试过了:
trans <- as(split(a[,"Game.played"],a[,"sessionid"]),"transactions")
但是,不是游戏的名称,而是仅显示游戏的数量。谁能告诉我为什么会这样?另外,我已经交叉验证了实际数据,并且sessionid与游戏的关联是错误的!
我也试过像
这样的东西q=read.transactions("a.csv", format = "basket", sep=",", rm.duplicates=TRUE).
但是,这也没有成功。
答案 0 :(得分:0)
将数据放入arules的篮子中,删除重复项?
以下是有关如何删除重复项的示例:
set.seed(1)
df <- data.frame(
cat=rep(LETTERS[1:3], 2:4),
val=sample(letters[1:5], 9, T),
stringsAsFactors = FALSE
)
df
# cat val
# 1 A b
# 2 A b
# 3 B c
# 4 B e
# 5 B b
# 6 C e
# 7 C e
# 8 C d
# 9 C d
(lst <- lapply(split(df$val, df$cat), unique))
# $A
# [1] "b"
#
# $B
# [1] "c" "e" "b"
#
# $C
# [1] "e" "d"
library(arules)
as(lst, "transactions")
# transactions in sparse format with
# 3 transactions (rows) and
# 4 items (columns)