2017-02-15 42 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)