Есть ли способ в R блестящем объединить все значения, взятые на вход - PullRequest
1 голос
/ 16 марта 2020

Мой вопрос очень простой c.

INPUT: любая клавиша на клавиатуре (input $ mydata)
SERVER: зарегистрировать все изменения, происходящие во входных $ data (например, в векторе) ЖЕЛАЕМЫЙ ВЫХОД: вектор всех значений, взятых входными данными $ mydata
(и, возможно, вектор сбрасывается, когда зарегистрировано, например, 50 значений)

Я пробую много способов, даже глобальные значения, но ничего не работает ...

Вот код для отображения последнего введенного ключа

library(shiny)
runApp( list(ui = bootstrapPage(
  verbatimTextOutput("results"),
  verbatimTextOutput("allInputs"),
  tags$script('
              $(document).on("keypress", function (e) {
              Shiny.onInputChange("mydata", e.which);
              });
              ') 
  )
  , server = function(input, output, session) {

    output$results = renderPrint({
      input$mydata
    })
  }
))

1 Ответ

2 голосов
/ 16 марта 2020

Вы можете добавить изменения в reactiveVal:

library(shiny)
runApp( list(ui = bootstrapPage(
  verbatimTextOutput("results"),
  verbatimTextOutput("allInputs"),
  tags$script('
              $(document).on("keypress", function (e) {
              Shiny.onInputChange("mydata", e.which);
              });
              ') 
)
, server = function(input, output, session) {

  output$results = renderPrint({
    input$mydata
  })

  keysPressed <- reactiveVal()

  observeEvent(input$mydata, {
    keysPressed(c(keysPressed(), input$mydata))
  })

  output$allInputs = renderPrint({
    keysPressed()
  })

}
))
...