2013-06-04 3 views
0

J'ai un grand nombre de fichiers que je veux exécuter séparément read.transactions() (partie du paquet ARULES).Boucle read.transactions sur plusieurs jeux de données

Je voudrais faire quelque chose comme ceci:

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,...); 

Jusqu'à présent, je viens recopiant le code. Évidemment, il me semble plus rapide de le faire en boucle. Les données sources seront déjà formatées, triées et au même endroit, donc je ne m'inquiète pas des problèmes impliquant plusieurs répertoires. Je suis nouveau à R, donc je ne suis pas totalement sûr de la façon de structurer cela. S'il y a une autre question similaire (juste concernant le bouclage) qui ferait l'affaire, alors je serais heureux d'être pointé dans la bonne direction.

Merci.

Répondre

0

Quelque chose comme

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

qui renvoie une liste de règles que vous pouvez accéder. Ou:

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

Merci. Ceci est exactement ce que je cherchais. – user2432675

Questions connexes