2013-06-04 53 views
0

我有大量的文件,我想單獨運行read.transactions()(ARULES包的一部分)。多個數據集上的循環read.transactions

我想要做這樣的事情:

x_1 = read.transactions(file_1.csv,...); rules_1 = apriori(x_1,...); 

x_2 = read.transactions(file_2.csv,...); rules_2 = apriori(x_1,...); 

... 

x_N = read.transactions(file_N.csv,...); rules_1 = apriori(x_N,...); 

到目前爲止,我剛剛被複製出來的代碼。顯然,在循環中做這件事似乎更快。源數據已經被格式化,排序,並在同一個地方,所以我不擔心涉及多個目錄的問題。

我是R的新手,所以我不完全知道如何構造這個。如果還有另外一個類似的問題(關於循環),那麼我會很樂意指出正確的方向。

謝謝。

回答

0

喜歡的東西

filenames <- paste0("file_",1:N,".csv") 
## or maybe list.files(pattern="^file_.*.csv")) 
rulesList <- lapply(filenames, 
       function(x) apriori(read.transactions(x,...),...)) 

將返回的你可以訪問規則列表。或者:

transList <- lapply(filenames,read.transactions,...) 
rulesList <- lapply(transList,apriori,...) 
+0

謝謝。這正是我所期待的。 – user2432675