ArulesVIZ 互动情节 - Shiny R

ArulesVIZ interactive plot - Shiny R

我想为关联挖掘创建一个闪亮的网络应用程序。我想做的一件事是从包 arulesVIZ 中实现一个交互式绘图。

所以我有以下代码:

    library(shiny)
    library(DT)
    library(data.table)
    library(arules)
    library(arulesViz)

    df_transac <-read.table("C:/Users/pauljacq/Desktop/splits/Association     files/ns_transactions.csv",header=T, sep=",")
    t<-read.transactions("C:/Users/pauljacq/Desktop/splits/Associationfiles/ns_transactions.csv", format='single',cols=c('shipment_archive_id','ASIN'),sep=",")

    rules_t <- apriori(t, 
               parameter = list(support = 0.0001, confidence = 0.0001, minlen=2, maxlen=5, ext=TRUE ), 
               control = list(verbose=TRUE))

    rules_table<-data.table(lhs=labels(lhs(rules_t)), rhs=(labels(rhs(rules_t))), quality(rules_t))

    ui<- basicPage(
      mainPanel(
        tabsetPanel(
          tabPanel("File", DT::dataTableOutput("df_transac")),
          tabPanel("Rules", DT::dataTableOutput("rules")),
          tabPanel("Graph", plotOutput("graph"))
        )
      )
    )

    server <- function(input, output) {
      output$df_transac = DT::renderDataTable({
        df_transac
      })
      output$rules = DT:: renderDataTable({
        rules_table
      })
      output$graph = renderPlot({
        plot(rules_t,method="scatter",interactive=T)
      })
    }
    shinyApp(ui=ui,server=server)

当我有

时,该应用程序运行良好
    plot(rules_t,method='scatter",interactive=F)

然而,当我有

    plot(rules_t,method='scatter",interactive=T)

我有以下错误:

    Error in convertUnit: 'x' argument must be a unit object

非常欢迎任何解决方案、想法或参考以前的工作:)

出现错误是因为 shiny 似乎没有将点击位置传递给程序包 grid 中的函数 grid.locator。安装最新的arulesViz版本并使用

plot(rules_t, method = "scatter", engine = "htmlwidget")

相反。这将创建一个 htmlwidget,并且应该可以正常工作。