Rshiny DataTables использует определенные c данные из выбранных строк - PullRequest
0 голосов
/ 26 марта 2020

Мне кажется, что я, вероятно, упускаю что-то простое, но я хочу иметь возможность использовать указанные c значения из выбранной строки в визуализированной таблице.

Так из примера: https://yihui.shinyapps.io/DT-info/

Я хотел бы выбрать информацию о hp для любой строки, которую я выбрал. Или, может быть, и имя автомобиля и hp, и есть кнопка действия, при нажатии на которую будут отображаться значения.

Я не могу найти, как получить указанные значения c столбца из выбранной строки из серверная сторона. Поэтому, если в приведенном ниже примере я выбрал строки, я бы хотел, чтобы отображалась скорость для каждой строки.

Предложения?

server.R

library(shiny)
library(DT)

shinyServer(function(input, output, session) {


  observeEvent(input$button1,{
    row_count <- input$x1_rows_selected
    output$info <- renderPrint({
      cat('Row Selected 1st Col Value: ')
      # getting 1st row col value
      cat(row_count[2], sep = ', ')

    })

  })


  output$x1 = DT::renderDataTable(cars, server = FALSE)

  # highlight selected rows in the scatterplot
  output$x2 = renderPlot({
    s = input$x1_rows_selected
    par(mar = c(4, 4, 1, .1))
    plot(cars)
    if (length(s)) points(cars[s, , drop = FALSE], pch = 19, cex = 2)
  })



})

ui.R

library(shiny)

fluidPage(

  title = 'Select Table Rows',

  h1('A Client-side Table'),

  fluidRow(
    column(6, DT::dataTableOutput('x1')),
    column(6, plotOutput('x2', height = 500))
  ),

  actionButton(
    "button1",
    "SUBMIT",
    style = "background-color:#221B70;
                                     color:#E0EB15;
                                     border-color:#E61029;
                                     border-style:double;
                                     border-width:4px;
                                     border-radius:50%;
                                     font-size:19px;"
  ),uiOutput('info')

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