r проблема с flexdashboard с реактивным вводом arules - PullRequest
0 голосов
/ 30 июня 2018

Я пытаюсь создать flexdashboard с результатами из функции r arules apriori, чтобы отобразить связанные отношения для определенных элементов, выбранных из выпадающего меню на панели уценки. Когда я создаю функцию вне среды уценки, я могу без проблем передать новый элемент продукта в функцию apriori, и график меняется, как и ожидалось, когда я меняю элемент. Когда я заменяю переменную функции именем реактивной функции, я получаю сообщение об ошибке, в котором нет правил «Ошибка: x содержит 0 правил!»

Используя предоставленные данные бакалеи, я хочу, чтобы реактивный ввод давал выбранную переменную либо «цельное молоко», либо «сахар», выводил правила для указанной переменной и создавал график. Я новичок в панелях мониторинга, поэтому не знаю, нужно ли использовать функцию, отличную от «реактивной». Ниже приведен код уценки. У меня возникают проблемы при вводе новых переменных в функцию aproiri.

---
title: "Grocery_Test"
output:
    flexdashboard::flex_dashboard:
    storyboard: true
    social: menu
    source_code: embed
    runtime: shiny
---

```{r global, include=FALSE}

library(plotly)
library(flexdashboard)
library(htmlwidgets)
library(htmltools)
library(knitr)
library(arules)
library(arulesViz)
library(igraph)
library(datasets)

data(Groceries)

```Inputs {.sidebar}
-----------------------------------------------------------------------

```{r}

selectInput("Product","Product", c("whole milk","sugar"))
```

###Associated Product
```{r}

product <- reactive({input$product})

renderPlot({
    #product<-"whole milk"

    rules <- apriori (data=Groceries
                     ,parameter=list (supp=0.001,conf = 0.15,maxlen=3)
                     ,appearance = list(default="rhs",lhs=Product())
                     ,control = list (verbose=F))

    rules_conf <- sort (rules, by=c("confidence"), decreasing=TRUE) # 'high-confidence' rules.

    redundant <- which (colSums (is.subset (rules_conf, rules_conf)) > 1) # get redundant rules in vector
    rules_conf <- rules_conf[-redundant] # remove redundant rules

    plot(rules_conf, method="graph",measure = "confidence", shading = "lift"
          ,control = list(engine="htmlwidget"))

  })

```
...