【问题标题】:Loop read.transactions over multiple datasets在多个数据集上循环 read.transactions
【发布时间】:2023-03-21 06:31:02
【问题描述】:

我有大量文件要单独运行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 新手,所以我不完全确定如何构建它。如果还有另一个类似的问题(仅关于循环)可以完成这项工作,那么我很乐意指出正确的方向。

谢谢。

【问题讨论】:

    标签: r affinity apriori arules


    【解决方案1】:

    类似

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

    【讨论】:

    • 谢谢。这正是我想要的。
    猜你喜欢
    • 1970-01-01
    • 2017-05-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多