0

我正在尝试创建一个自动绘图,它将根据用户选择的变量显示一个绘图,但它只是显示为一条直线,即使 y 轴上的名称确实会根据用户选择的内容而改变。这是代码的基本版本:

library(shiny)
library(fpp3)
ui <- fluidPage(
  selectInput("select", "Choose variable", choices = names(aus_production)),
  plotOutput("plot")
)

server <- function(input,output){
  
  output$plot <- renderPlot({
   aus_production %>% autoplot(input$select) 
  })
  
}

shinyApp(ui = ui,server = server)
4

1 回答 1

0

您正在调用?autoplot.tbl_ts并且该方法需要变量的表达式,而不是input$select返回的字符串。相反,您可以使用.data代词

server <- function(input,output){
  
  output$plot <- renderPlot({
   aus_production %>% autoplot(.data[[input$select]]) 
  })
  
}
于 2021-10-22T02:35:18.647 回答