0
我正在處理我的第一個Shiny應用程序,試圖製作反應性barplot和表格,用戶可以在其中選擇要顯示的數據框的列,但是,當我運行應用程序閃亮的錯誤:在barplot中需要有限的'xlim'值
error: need finite 'xlim' values appear
。
我的數據不包含NA,它是一個數據幀,我可以使用普通的r命令構建無反應的圖。
我的代碼看起來像這樣
library(shiny)
ui <- fluidPage(
plotOutput(outputId = "bar_1"),
tableOutput(outputId = "table_1"),
selectInput("variable", "Select variable", c("colA"="colA", "colB"="colB", "colC"="Col C"))
)
server <- function(input, output) {
output$bar_1<-renderPlot(barplot(table(Book1$'input$variable')))
output$table1<-renderTable(table(Book1$'input$variable'))
}
shinyApp(ui = ui, server = server)
控制檯顯示
Warning in min(w.l) : no non-missing arguments to min; returning Inf
Warning in max(w.r) : no non-missing arguments to max; returning -Inf
Warning in min(x) : no non-missing arguments to min; returning Inf
Warning in max(x) : no non-missing arguments to max; returning -Inf
Warning: Error in plot.window: need finite 'xlim' values
Stack trace (innermost first):
79: plot.window
78: barplot.default
77: barplot
76: renderPlot
68: output$bar_1
1: runApp
感謝您的幫助!
你可能需要把輸入變量$雙方括號內(即第一冊[輸入變量$]])這個工作。如果應用程序變得更大,您還應該考慮將Book1 [[input $ variable]]移動到它自己的反應表達式。這是因爲每次輸入更新只需執行一次操作。目前它正在做兩次。 – Gladwell
你能解釋我如何做到這一點?謝謝 –
它的工作!爲什麼在函數響應時不使用$而使用方括號?我有沒有睡過教程? –