2017-09-14 144 views
0

我想创建一个闪亮的Web应用程序进行关联挖掘。我想要做的一件事是从包arulesVIZ实现一个交互式图。ArulesVIZ交互式阴谋 - 闪亮的R

所以我有以下代码:

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 

任何解决方案,想法,或参考以前的工作是非常欢迎的。

回答

0

错误发生,因为它似乎有光泽不通过点击该功能grid.locator位置从包grid。安装最新的arulesViz版本并使用

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

改为。这将创建一个htmlwidget,并应该在闪亮的工作正常。

+0

感谢您的回答。但是,该小部件将填充到我的RStudio的查看器部分中。不知道如何将它嵌入到实际的应用程序中? –

+0

更新:工作解决方案 因此,engine =“htmlwidget”技巧奏效。虽然我需要从renderPlot/plotOutput更新到renderPlotly/plotlyOutput。 非常感谢@迈克尔·哈斯勒 –