shinyapps.io不绘制地块

时间:2017-06-14 16:39:16

标签: r plot shiny shinyapps

我使用FactorMineR软件包构建了一个简单的应用程序,根据所选变量进行MCA分析和聚类。

该应用程序在我的本地设备上正常工作,但它没有在shinyapps.io服务器上显示任何图表(基本图和ggplots)。我检查了包和本地和remotley它们是相同的。我还检查了FactoMineR pcg中的MCA()函数是否可以通过提取一些结果并将它们呈现为表格给出积极结果。所以只有绘图的问题。我一直试图解决它两天,但没有任何帮助,所以我问你任何建议。

以下是本地查看方式:mca_locally

以下是该应用的链接:https://mikolajm.shinyapps.io/MCA_test/

可重现的例子

library(shiny)
library(FactoMineR)
library(cluster)
library(ggplot2)
data(tea)

ui <- fluidPage(

  # Application title
  titlePanel("MCA"),
  textOutput("packages"),br(),
  tableOutput("table"),br(),

  fluidRow(
    column(4, checkboxGroupInput("Variables", "Select variables:", 
                                 names(tea), selected=c("breakfast", "tea.time"))),
    column(4, plotOutput("plot")), column(4, plotOutput("plot1"))),
  fluidRow(column(12, plotOutput("dendro", height = "700px", width="1200px"))
  )
)

server <- function(input, output) {

  ## packages checking
  output$packages <- renderText({.packages()})
  tea_selected <- reactive({
    tea[, input$Variables]
  })

  ## table with some results from MCA() fun
  output$table <- renderTable({
    tea.mca <- MCA(tea_selected(), ncp=9)
    tea.mca$eig[1:5,]

  })

  ##  mca1
  output$plot <- renderPlot({
    library(FactoMineR)
    par(mfrow=c(2,2))
   tea.mca <- MCA(tea_selected(), ncp=9)
  })


  ## mca with ggplot
  output$plot1 <- renderPlot({

    tea.mca <- MCA(tea_selected(), ncp=9)
    tea_vars_df <- data.frame(tea.mca$var$eta2, Variable =names(tea_selected())) 

    library(ggplot2)

    pp <- ggplot(data=tea_vars_df, aes(x=Dim.1, y=Dim.2, label=Variable))+
      geom_hline(yintercept = 0, colour = "gray70") +
      geom_vline(xintercept = 0, colour = "gray70") +
      geom_point()+
      geom_text() +
      ggtitle("MCA plot of variables ")+
      theme_bw()

    pp
    })
  ### dendro 

  output$dendro <- renderPlot({
    library(FactoMineR)
    library(cluster)

    tea.mca <- MCA(tea_selected(), ncp=9)
    classif <- agnes(tea.mca$ind$coord,method="ward")
    plot(classif,main="Dendrogram",ask=F,which.plots=2)
  })
}

# Run the application 
shinyApp(ui = ui, server = server)

1 个答案:

答案 0 :(得分:0)

编辑:您可以看到明显的情节,但

<强> ORIGINAL
我运行你的代码时,我无法在你闪亮的应用程序中看到情节。

经过一番挖掘后,我的猜测只是:

您使用FactoMineR包附带的许多功能。例如,您在MCA代码块中使用函数output$plot1。在R命令行中键入MCA,它应该打印该函数。你可以看到MCA做了很多事情并最终调用了plot.MCA。现在在R命令行中输入plot.MCA。您可以看到plot.MCA有很多plot个命令,我很确定当您调用MCA时,它会执行所有绘图。我认为您的问题是函数plot中的plot.MCA被发送到图形设备,并且这些图未保存,即它们不return()parent环境。 这只是猜测。