我有大量文件需要单独运行read.transactions()
(部分ARULES包)。
我想做这样的事情:
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 :(得分: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,...)