如何選擇數據的子集並使用shiny
& ggvis
? 正如ggvis documentation所述,使用ggvis
input_select
不可能交換數據集。除了這個限制,如果數據預處理過濾只需要執行一次,那將是非常棒的。 這是我的嘗試使用selectInput()
。我希望能夠選擇部分或者顯示Shiny&ggvis動態選擇數據子集
library(ggvis)
library(dplyr)
set.seed(1233)
cocaine <- cocaine[sample(1:nrow(cocaine), 500), ]
shinyServer(function(input, output, session) {
output$choose_dataset <- renderUI({
selectInput("dataset", "Select", append("Give me all!", as.list(sort(unique(cocaine$state)))))
})
if(input$dataset != "Give me all!"){
a <- filter(rawData, cocaine$state == input$dataset)
}
if(input$dataset == "Give me all!"){
a <- cocaine
}
a$id <- 1:nrow(a)
return(a)
datFiltered %>%
ggvis(~weight, ~price, key := ~id) %>%
bind_shiny("plot1") # Very important!
})
在這裏,整個數據集是UI
library(ggvis)
shinyUI(bootstrapPage(
uiOutput("choose_dataset"),
ggvisOutput("plot1")
))