R Shiny - отображение таблицы реактивных данных из SelectInputs - PullRequest
0 голосов
/ 27 мая 2020

Я новичок в R и Shiny, и я пытаюсь построить модель Shiny, в которой пользователь выбирает варианты из SelectInputs (которые динамически заполняются из таблицы Excel), и я хотел бы, чтобы их выбор был отображается в виде таблицы данных, которую затем можно объединить со справочной базой данных для получения вывода.

Например, это часть пользовательского интерфейса:

    selectInput("Input1", "Input1", choices = unique(data$Col1)),

    selectInput("Input2", "Input2", choices = "", selected = ""), 
    selectInput("Input3", "Input3", choices = "", selected = "")

А это соответствующая часть сервера:

shinyServer(function(session, input, output){

  observeEvent(
    input$Input1,
    updateSelectInput(session, "Input2", "Input2", 
                      choices = data$Col2[data$Input1==input$Input1]))
  observeEvent(
    input$Input2,
    updateSelectInput(session, "Input3", "Input3", 
                      choices = data$Col3[data$Input2==input$Input2]))

Имена столбцов исходной таблицы и метки ввода совпадают. Второй столбец зависит от первого столбца, третий - от второго et c. Каждая ячейка в столбцах имеет уникальное значение в справочных данных в 4-м столбце.

В зависимости от вводимых пользователем данных я хотел бы отобразить данные с их вариантами, которые мне нужно объединить со ссылкой data и используйте (all.y = true) для получения уникального значения.

Я изо всех сил пытаюсь использовать reactiveValues. Это код, который я использовал, чтобы сделать его реактивной функцией:

Input1 <- reactive({
    as.character(input$Input1)
  })

Если мне удастся визуализировать datatable с этими реактивными значениями, следующим шагом будет: (Предполагая, что Input - это визуализированное DT)

names(Input)[1:3] <- colnames(data[1:3])
  df2<-merge(x=data,y=Input, all.y=TRUE)
  baseValue <- df2[,4]

Я уже давно застрял в этой проблеме. Пожалуйста помоги? Остальная часть моей модели зависит от правильности этого расчета.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...