Как передать строку данных в модель машинного обучения, нажав кнопку? - PullRequest
0 голосов
/ 21 июня 2019

Я создаю блестящее приложение машинного обучения. Я отображаю данные в таблицах данных и хочу передать данные в модель машинного обучения, выбрав строку и нажав кнопку, чтобы получить результат. Как это можно сделать в блестящем?

1 Ответ

0 голосов
/ 21 июня 2019

Мне кажется, я понимаю, что вы пытаетесь сделать.Надеюсь, этот минимальный пример, который я сделал, поможет вам.Используйте DT для рендеринга таблицы и выбора строки (здесь я подавил выбор более чем одной строки, потому что я понял, что это то, что вы хотите).Используйте кнопку и изолируйте для запуска модели, только если выбран ряд и кнопка нажата.Здесь я не поместил модель, вместо этого я нарисовал график с подсвеченными данными строк, но принцип тот же.

library(shiny)
library(DT)

server <- function(input, output, session) {

  output$x1 = DT::renderDataTable(mtcars, server = FALSE, selection = "single")

  # client-side processing
  output$x2 = renderPrint({
    s = input$x1_rows_selected
    if (length(s)) {
      cat('These rows were selected:\n\n')
      cat(s, sep = ', ')
    }
  })


  # highlight selected rows in the scatterplot - here you add your model
  output$x3 = renderPlot({
    input$run_model                                 # button input
    s = isolate(input$x1_rows_selected)             # use isolate to run model only on button press
    par(mar = c(4, 4, 1, .1))
    plot(mtcars[, 2:3])
      if (length(s)) points(mtcars[s, 2:3, drop = FALSE], pch = 19, cex = 2) 
  })

}

ui <- fluidPage(

  title = 'Select Table Rows',

  h1('A Client-side Table'),

  fluidRow(
    column(9, DT::dataTableOutput('x1')),
    column(3, verbatimTextOutput('x2'))
  ),

  hr(),

  h1('Model'),

  fluidRow(
    column(6, actionButton("run_model", "Go")),
    column(9, plotOutput('x3', height = 500))

  )

)

shinyApp(ui = ui, server = server)
...