2015-09-27 103 views
-1

我想從一個.CSV文件中的數據中挖掘頻繁的項目集和關聯規則。瞭解了R中的arules包,並決定使用它。從R中的數字向量創建一個數據幀

面臨從CSV創建數據框的問題。

我的CSV文件基本上是在下列格式的數據:)

transactionid,items 
1,"milk,beer,diapers" 
2,"coke,milk,eggs" 
3,"diapers,eggs,coke" 

誰能幫我創建數據幀的將它傳遞給先驗()或elact(在arules庫的功能是什麼?

謝謝!

+0

恩,'read.csv()'? –

+0

我猜他也想拆分物品。所以從[這裏]適應(http://stackoverflow.com/questions/7069076/split-column-at-delimiter-in-data-frame):'df < - read.csv(「test.csv」,stringsAsFactors = FALSE)'然後''cbind(df [,1,F],(df,data.frame(do.call(rbind,strsplit(items,',',fixed = TRUE))))''如果數字的項目不是恆定的,那麼使用'tidyr'或類似的''單獨的''可能會更好。 – Molx

回答

1

聽起來好像你想從csv文件導入數據到transactions對象。

df <- read.csv(text='transactionid,items 
       1,"milk,beer,diapers" 
       2,"coke,milk,eggs" 
       3,"diapers,eggs,coke"', 
       stringsAsFactors=FALSE) 

library(arules) 
lst  <- lapply(df$items,function(x)strsplit(x,split=",")[[1]]) 
names(lst) <- df$transactionid 
trans  <- as(lst,"transactions") 
inspect(trans) 
# items  transactionID 
# 1 {beer,     
# diapers,    
# milk}    1 
# 2 {coke,     
# eggs,     
# milk}    2 
# 3 {coke,     
# diapers,    
# eggs}    3 

您還應該看看read.transactions(...)函數。