2017-02-15 51 views
1

我是R的初学者,但是,我想了解更多。我正在尝试进行市场分析。将数据(csv)放入arules篮子中,删除重复项?

这是我的原始数据,我想将其转换为一个交易篮格式:

Image

这就是我想实现:

Image 2

我有尝试过:

trans <- as(split(a[,"Game.played"],a[,"sessionid"]),"transactions") 

但是,而不是游戏的名称,只显示游戏的数量。谁能告诉我为什么会发生这种情况?另外,我已经交叉验证了实际数据,并且sessionid与游戏的关联是错误的!

我也试着像

q=read.transactions("a.csv", format = "basket", sep=",", rm.duplicates=TRUE). 

但是,这是不工作要么。

+1

请花一些时间,并纳入在这篇文章中所有的相关数据,但不是作为一个图像。最好作为一个小的[可重现的例子](以及所期望的结果)和你已经尝试过的东西(http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example)远。 –

回答

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)