Как обновить блестящие данные с помощью кнопки, которая запускает функцию - PullRequest
0 голосов
/ 17 апреля 2019

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

У меня есть datatable в приложении shiny. Я загружаю данные в него, когда он появляется впервые. Он состоит из одного столбца текста

Я хочу, чтобы пользователь мог нажать кнопку, которая получает данные в datatable и выполняет с ними какое-либо действие, а затем представляет datatable с результатом этой функции. Функция (не показана) в основном разбивает один столбец на несколько столбцов.

Кажется, я не могу понять, как запустить функцию с кнопки, которая обновляет и отображает новый datatable.

Это то, что я имею до сих пор:

server.R

library(shiny)
library(EndoMineR)

RV <- reactiveValues(data = PathDataFrameFinalColon)


server <- function(input, output) {
  output$mytable = DT::renderDT({
    RV$data
  })
output2$mytable = DT::renderDT({
    RV$data<-myCustomFunction(RV$data)
  })

}

ui.R

library(shiny)


basicPage(
  fluidPage(
  DT::dataTableOutput("mytable")
))

Как мне разрешить кнопке на странице запускать определенную функцию, которая затем обновляет данные?

1 Ответ

0 голосов
/ 17 апреля 2019

Можно использовать observeEvent() и ignoreInit = TRUE, чтобы исходный кадр данных отображался без применения функции.

server <- function(input, output) {
  RV <- reactiveValues(data = PathDataFrameFinalColon)

  output$mytable = DT::renderDT({
    RV$data
  })

  observeEvent(input$my_button,{
    RV$data<-myCustomFunction(RV$data)
  },ignoreInit = TRUE)

}

ui <- basicPage(
  fluidPage(
    DT::dataTableOutput("mytable"),
    actionButton("my_button",label = "Run Function")
))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...