Мне нужно создать информационную панель, она будет принимать файл CSV в качестве входных данных, предоставленных пользователем, затем она выберет переменную из столбца объекта (средство и Uen) после выбора одной переменной, мы должны получить данные этой переменной в uen столбец из файла пользовательских данных, то после выбора данных 1 uen мы получим данные всех переменных для этого uen
a = read.csv("input_missing.csv")
ui <- fluidPage (
tabsetPanel (
tabPanel("Input Data", fluid = TRUE,
titlePanel(title=div( "Risk Rating Model", align = "center")),
wellPanel(
fluidRow(width = 2,column(width = 3, fileInput( "file1", "Import the data file", accept = c(".csv"))),
column(width = 2, selectInput( "file2", "Entity Details", c(" ", "Facility Id", "UEN "), selected=" ")),
column(width = 2, selectInput('FacilityId', 'Facility Id', a$CCDM_FacilityId)),
column(width = 2, selectInput('UEN', 'UEN Id', list(),, multiple = TRUE))
),
fluidRow(
DT::dataTableOutput("contents")
)
))))
server <-function(input, output,session) {
output$contents <- renderTable({
inFile <- input$file1
if (is.null(inFile))
return(NULL)
read.csv(inFile$datapath, header = input$header)
})
observe({
updateSelectizeInput(session, "UEN", choices = a$input$file2)
})
# Filter data based on selections
output$contents <- DT::renderDataTable(DT::datatable({
if (input$FacilityId != "All") {
a <- a[a$CCDM_FacilityId == input$FacilityId,]
}
if (input$UEN != "All") {
a <- a[a$UEN1 == input$UEN,]
}
a
}))
}
shinyApp(ui, server)