使用 select 输入到 select 个向量
Use selectInput to select vectors
我一直在尝试使用 selectInput on shiny 来 select 我想要绘制的向量的值。
在这个例子中,我想使用 selectInput 在我想要子集化的向量之间进行选择。如果我 select 灰色,df 应该 select 只有灰色向量上的观测值不大。
我无法让它工作。我该怎么办?
library(shiny)
ui <- fluidPage(
titlePanel("Test"),
sidebarLayout(
sidebarPanel(
selectInput("input1",
"Input",
choices = c(
"Blue" = "blue",
"Grey" = "grey",
"Orange" = "orange"
))
),
mainPanel(
plotOutput("plot")
)
)
)
server <- function(input, output) {
blue <- c("big", "small", "big", "small", "medium")
grey <- c("small", "big", "big", "medium", "medium")
orange <- c("big", "big", "medium", "medium", "medium")
big <- c("true", "true", "true", "false", "false")
df<- data.frame(blue, grey, orange, big)
output$plot <- renderPlot({
df <- df[input$input1 != "big",]
plot <- ggplot(df, aes(x=big))+geom_bar()
return(plot)
})
}
shinyApp(ui = ui, server = server)
input$input1
是一个字符串。
而不是:
df <- df[input$input1 != "big",]
尝试:
df <- df[which(df[[input$input1]] != "big"),]
我一直在尝试使用 selectInput on shiny 来 select 我想要绘制的向量的值。
在这个例子中,我想使用 selectInput 在我想要子集化的向量之间进行选择。如果我 select 灰色,df 应该 select 只有灰色向量上的观测值不大。
我无法让它工作。我该怎么办?
library(shiny)
ui <- fluidPage(
titlePanel("Test"),
sidebarLayout(
sidebarPanel(
selectInput("input1",
"Input",
choices = c(
"Blue" = "blue",
"Grey" = "grey",
"Orange" = "orange"
))
),
mainPanel(
plotOutput("plot")
)
)
)
server <- function(input, output) {
blue <- c("big", "small", "big", "small", "medium")
grey <- c("small", "big", "big", "medium", "medium")
orange <- c("big", "big", "medium", "medium", "medium")
big <- c("true", "true", "true", "false", "false")
df<- data.frame(blue, grey, orange, big)
output$plot <- renderPlot({
df <- df[input$input1 != "big",]
plot <- ggplot(df, aes(x=big))+geom_bar()
return(plot)
})
}
shinyApp(ui = ui, server = server)
input$input1
是一个字符串。
而不是:
df <- df[input$input1 != "big",]
尝试:
df <- df[which(df[[input$input1]] != "big"),]