R通过关联规则挖掘(arules)循环,改变支持和项目外观

时间:2017-12-08 00:46:18

标签: r loops for-loop data-mining arules

这里对R来说相当新鲜。我希望在R中挖掘特定项目的关联规则,但我想根据每个项目改变这些规则的最低支持目标(即项目总频率的10%交易清单)。每个项目都有不同的交易量,所以我相信不同的支持有价值。

我使用Excel计算了单独电子表格中每个项目的支持目标。

我可以手动编写arules代码并手动输入支持最小值和项目外观,但过程很慢,特别是对于许多不同的项目。

离。

arules <- apriori(trans, parameter = list(sup = 0.001, conf = 0.25,target="rules"), 
    appearance=list(rhs= c("Apples")))
arules2 <- apriori(trans, parameter = list(sup = 0.002, conf = 0.25,target="rules"), 
    appearance=list(rhs= c("Oranges")))
combined <- c(arules,arules2)

如何使用R中的for循环来计算特定支持最小值的每个指定项的规则,并在每次循环运行时将这些生成的规则保存到新变量中?我打算稍后根据其类型对这些规则进行分组。

尝试过这样的事情,这次事情已经过了很多次。我也无法找到将每个循环保存到新变量的方法(即arules1,arules2,arules3 ....)

min_supp <- c(0.001,0.002,0.003)
names <- c("Apples","Oranges","Grape")

for (inames in names) {
    for (supports in min_supp) {
        apriori(trans, parameter = list(sup = supports, conf = 0.25,target="rules"),
        appearance=list(rhs= inames))
        }}

提前致谢!

1 个答案:

答案 0 :(得分:0)

考虑In Index.php=> //define action :: $productupdate = '/rmprod/Rmtemplate/processSelected'; In column add this........ [ 'class' => 'kartik\grid\CheckboxColumn' 'checkboxOptions' => function ($data) { return ['value' => $data['product_primary_key'], 'class' => 'class_checkbox']; //primary_key=>product_primary_key }, ], Add Jquery code(To post data) :::: $('.class_checkbox').change(function() { var action_url = '<?= $productupdate; ?>'; if (this.checked) { var product_data = $(this).attr('value'); //get product_primary_key $.ajax({ method: "post", url: action_url, data: {product_data:product_data,_csrf: csrfToken} }).done(function(data) { $('#LoadingMSG').hide(); console.log(data); }); } else { //you can apply another ajax to post data when checkbox unselect } }); In Controller=> public function processSelected() { $getdata = Yii::$app->request->post(); //get posted data //apply query to play with database by $getdata (primary_key) } In Index.php............. [ 'class' => 'kartik\grid\CheckboxColumn' 'checkboxOptions' => function ($data) { return ['value' => $value1.'+'.$value2.'+'.$value3.'+'.$value4, 'class' => 'class_checkbox']; }, ], Add Jquery code(To post data) :::: $('.class_checkbox').change(function() { var action_url = '<?= $productupdate; ?>'; if (this.checked) { var all_flds_data = $(this).attr('value'); $.ajax({ method: "post", url: action_url, data: {all_flds_data:all_flds_data,_csrf: csrfToken} }).done(function(data) { $('#LoadingMSG').hide(); console.log(data); }); } else { //you can apply another ajax to post data when checkbox unselect } }); In Controller=> public function processSelected() { $getdata = Yii::$app->request->post(); //get posted data //after json_deocode you will get all posted data from ajax } 的简化包装器),它可以通过相同的长度向量迭代 m 多个应用方法。此外,Map将输出可以使用mapply命名的返回项目列表。列表始终是首选,因为您避免使用充满类似结构的对象充斥全球环境。

Map