У меня есть блестящее приложение ниже, в котором пользователь загружает файл, и диапазон дат передается в dateRangeInput()
. Затем на основе выбора диапазона дат происходит второе подмножество, которое передает уникальные значения 4-го столбца загруженного набора данных в pickerInput()
. Но когда я пытаюсь сделать это, pickerInput выводит сообщение «Ничего не выбрано».
мой csv выглядит так:
A tibble: 375 x 4
EventDate month week day
<date> <dbl> <dbl> <ord>
1 2017-01-01 1 1 Sun
2 2017-01-02 1 1 Mon
3 2017-01-03 1 1 Tue
4 2017-01-04 1 1 Wed
5 2017-01-05 1 1 Thu
6 2017-01-06 1 1 Fri
7 2017-01-07 1 1 Sat
8 2017-01-08 1 2 Sun
9 2017-01-09 1 2 Mon
10 2017-01-10 1 2 Tue
app
# app.R ##
library(shiny)
library(DT)
library(shinyWidgets)
ui <- pageWithSidebar(
headerPanel('Iris k-means clustering'),
sidebarPanel(
fileInput("file1", "Choose CSV File",
accept = c(
"text/csv",
"text/comma-separated-values,text/plain",
".csv")
),
uiOutput("dates"),
uiOutput("id")
),
mainPanel(
)
)
server <- function(input, output, session) {
output$dates<-renderUI({
inFile <- input$file1
df<-data.frame(read.csv(inFile$datapath, header = TRUE))
df$EventDate <-as.Date(df$EventDate, "%Y-%m-%d")
dateRangeInput('dateRange',
label = 'Date range Input',
start = min(df$EventDate) ,end= max(df$EventDate)
)
})
output$id<-renderUI({
inFile <- input$file1
df<-data.frame(read.csv(inFile$datapath, header = TRUE))
df<-data.frame(subset(df, EventDate>=as.Date(input$dateRange[1], "%Y-%m-%d")&EventDate<=as.Date(input$dateRange[2], "%Y-%m-%d")))
pickerInput("select", "Select ID",
choices = as.character(unique(df[,4])),
multiple = T,options = list(`actions-box` = TRUE),
selected = as.character(unique(df[,4])))
})
}
shinyApp(ui = ui, server = server)