编写我的第一个闪亮应用程序,如何按选定变量绘图,为什么这个脚本不起作用?

Writing my first shiny app, How do I plot by selected variables, why does this script not work?

我正在尝试编写我的第一个闪亮的应用程序,它将在两个变量之间进行一些统计分析,并绘制一个显示它们之间关系的图。我的数据将被预先确定。对于图表,我决定使用 highcharter 但我该如何编写代码呢?上面的代码是我的第一次尝试,但我似乎无法弄清楚为什么它不起作用。我也尝试了 highcharter 指南中的 shiny 示例代码,但它似乎也不起作用。

library(shiny)
library(highcharter)
library(tidyverse)

data(iris)

ui <- fluidPage(

  selectInput("First", label = "First Variable", width = "100%",
              choices = colnames(iris)), 
  selectInput("Second", label = "Second", width = "100%",
              colnames(iris)),
  highchartOutput("hchartcont")

)

server = function(input, output) {

  output$hchartcont <- renderHighchart({
    hc <- highchart() %>% 
      hc_chart(type="line") %>% 
      hc_xAxis(input$First) %>% 
      hc_yAxis_multiples(input$Second)
    hc
  }

  )

}

shinyApp(ui = ui, server = server)

虽然不熟悉 highcharter,但您的代码似乎没有为绘图提供任何数据。需要先获取输入数据,再画图

例如,这可能有效(我试图尽可能多地保留您的代码...然而,线图在这里没有意义;认为这只是一个快速有效的示例:-)) :

library(highcharter)
library(tidyverse)
library(shiny)

ui <- fluidPage(

    selectInput("First", label = "First Variable", width = "100%",
                choices = colnames(iris)), 
    selectInput("Second", label = "Second", width = "100%",
                choices = colnames(iris)),
    highchartOutput("hchartcont")

)

server = function(input, output) {

    output$hchartcont <- renderHighchart({
        df <- iris %>% select(x = input$First, y = input$Second)
        hchart(df, "line", hcaes(x, y))
    })

}

shinyApp(ui = ui, server = server)