我有一个应用程序,其中我希望在"ui"文件中获取用户输入并使用该信息更新"服务器"文件中的数据帧.以下是代码的简化版本:
Dataframe <- readRDS(Dataframe.rds)
Table <- readRDS(Table.rds)
ui <- fluidPage(
selectInput("Location","Location",
unique(as.character(Table$Locations)), multiple = TRUE)
)
server <- function(input,output) {
Dataframe2 <- Dataframe %>% select(get(input$Location))
}
Run Code Online (Sandbox Code Playgroud)
如果我没有对selectInput使用"multiple = TRUE"选项,则上述代码有效,这意味着Dataframe2对象仅选择与用户选择的单个输入匹配的列.但是,我不知道如何为多个输入做同样的事情,当选择可能从selectInput传递的最多1个项目到总共10个项目.
Val*_*vić 10
如果我正确理解了您的问题,这是使用mtcars数据框进行多项选择的示例:
ui.R
library(shiny)
data(mtcars)
shinyUI(fluidPage(
titlePanel("MTCARS"),
selectInput("Columns","Columns",
names(mtcars), multiple = TRUE),
verbatimTextOutput("dfStr")
))
Run Code Online (Sandbox Code Playgroud)
server.R
library(shiny)
library(dplyr)
data(mtcars)
shinyServer(function(input, output) {
Dataframe2 <- reactive({
mtcars[,input$Columns]
})
output$dfStr <- renderPrint({
str(Dataframe2())
})
})
Run Code Online (Sandbox Code Playgroud)