![](/img/trans.png)
[英]Why does Boxplot appear in RStudio instead of my Shiny app?
[英]Why does this Shiny App not display dataframe using RStudio?
我有一個數據框列表ls_df
,其中包含來自datasets
包的兩個數據框。
我正在嘗試使用下面的代碼將這兩個數據幀加載到 Shiny 應用程序中。 但是,它不起作用,錯誤消息no item called "ls_df" on the search list
。 有誰知道如何解決?
ls_df <- list(datasets::airmiles,
datasets::AirPassengers)
ui <- fluidPage(
selectInput("ls_df", label = "Dataset", choices = ls("ls_df")),
verbatimTextOutput("summary"),
tableOutput("table")
)
server <- function(input, output, session) {
output$summary <- renderPrint({
dataset <- get(input$ls_df, "ls_df")
summary(dataset)
})
output$table <- renderTable({
dataset <- get(input$ls_df, "ls_df")
dataset
})
}
shinyApp(ui, server)
該列表需要名稱:
library(shiny)
ls_df <- list(airmiles=datasets::airmiles,AirPassengers=datasets::AirPassengers)
ui <- fluidPage(
selectInput("ls_df", label = "Dataset", choices = names(ls_df)),
verbatimTextOutput("summary"),
tableOutput("table")
)
server <- function(input, output, session) {
output$summary <- renderPrint({
dataset <- ls_df[[input$ls_df]]
summary(dataset)
})
output$table <- renderTable({
dataset <- ls_df[[input$ls_df]]
dataset
})
}
shinyApp(ui, server)
錯了兩點:
您的列表需要名稱,如 PorkChop 的回答中所述。 如果這是唯一需要的更改,那么 PorkChop 的回答就足夠了。
get(input$ls_df, "ls_df")
是一個錯誤。 不過,這應該很清楚,因為它會阻止閃亮的界面啟動。 這個錯誤是因為ls
和get
的envir=
參數需要一個對象,而不是對象的character
名。 (可以去“開始”並使用ls(get("ls_df"))
和類似的get
,但這似乎幾乎沒有必要或有用。)
ls_df <- list(airmiles=datasets::airmiles, # <-- named list AirPassengers=datasets::AirPassengers) ui <- fluidPage( selectInput("ls_df", label = "Dataset", choices = ls(ls_df)), # <-- no quotes verbatimTextOutput("summary"), tableOutput("table") ) server <- function(input, output, session) { output$summary <- renderPrint({ dataset <- get(input$ls_df, ls_df) # <-- no quotes summary(dataset) }) output$table <- renderTable({ dataset <- get(input$ls_df, ls_df) # <-- no quotes dataset }) }
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.