我的ggplot没有出现使用R闪亮

时间:2018-05-24 18:19:00

标签: r ggplot2 shiny

我不知道为什么当我运行我的应用程序时我的ggplot没有出现。它似乎使用情节,它的工作原理。但是使用ggplot,什么都没有出现。没有图表!我尝试使用print()而没有它,没有结果。

我的应用程序我导入了一个csv文件,并从中我绘制了一个图表。 你能帮帮我吗?

#Server

server <- function(input, output, session) {
  # added "session" because updateSelectInput requires it

  data <- reactive({
    req(input$file1) # require that the input is available

    df <- read.csv(input$file1$datapath,
                       header = input$header,
                       sep = input$sep,
                       quote = input$quote)


  updateSelectInput(session, inputId = 'xcol', label = 'X Variable',
                    choices = names(df), selected = names(df)[sapply(df, is.numeric)])
  updateSelectInput(session, inputId = 'ycol', label = 'Y Variable',
                    choices = names(df), selected = names(df)[sapply(df, is.numeric)])

  return(df)

  })

  output$contents <- renderTable({
    data()
  })

  output$MyPlot <- renderPlot({
    x <- data()[, c(input$xcol, input$ycol)]

   p <- ggplot(x, aes(input$xcol,input$ycol)) 
   p <- p + geom_line() #+ geom_point()
   print(p)


    # plot(mydata, type = "l",
    #      xlab = input$xcol,
    #      ylab = input$ycol)
  })

  # Generate a summary table of the data uploaded
  output$summary <- renderPrint({
    y <- data()
    summary(y)

  })

}

# Create Shiny app
shinyApp( ui = ui, server = server)

1 个答案:

答案 0 :(得分:0)

您的代码中存在一些问题:SMDeepExtract <- function(data, col = c("p.value", "sdiff")){ cbind( t(sapply(match_balance[[ "BeforeMatching" ]], "[", col)), t(sapply(match_balance[[ "AfterMatching" ]], "[", col)) ) } # extract res <- SMDeepExtract(match_balance) # check output head(res) # p.value sdiff p.value sdiff # [1,] 8.603228e-05 22.25849 0.06469923 5.628461 # [2,] 0.2502077 5.397308 0.02982693 4.162643 # [3,] 0.0186553 12.26719 0.0007511647 3.778702 # [4,] 0.4295341 -4.354516 0.04536081 1.792715 # [5,] 6.922152e-11 39.98226 1 0 # [6,] 0.009223748 12.59753 0.04536081 0.9887884 input$xcol包含字符值,因此您必须在input$ycol函数中使用aes_string。此外,您需要直接ggplottabsetPanel(小问题)。

除此之外,在您的sidebarLayout被动反应中,您使用了在您的用户界面中找不到的datasep输入,从而导致错误。如果我评论它们,一切都按预期工作。对于测试,我使用了quote

write.csv(diamonds, file = "diamonds.csv")

enter image description here