Использовать датируемый выделение отдельной ячейки для подмножества кадра данных в R блестящем - PullRequest
0 голосов
/ 29 ноября 2018

У меня есть блестящее приложение ниже, в котором я хочу иметь возможность щелкнуть по определенному столбцу-одиночке и создать 2-й тип данных только с этой ячейкой.Проблема в том, что я не могу добиться этого, так как я делаю это с выбором строки, которая возвращает индекс строки, который я использую для подмножества.В этом случае я использую 1-й ряд-3-й пример столбца.

library(shiny)

fluidPage(

  title = 'Select Table Rows',


  h1('A Server-side Table'),

  fluidRow(
    column(9, DT::dataTableOutput('x3')),
    column(3, DT::dataTableOutput('x4'))
  )

)
#server.r
   library(shiny)
library(DT)

shinyServer(function(input, output, session) {

  # server-side processing
  mtcars2 = mtcars[, 1:8]
  output$x3 = DT::renderDataTable(mtcars2, server = TRUE,selection=list(target='cell'))

  # print the selected indices
  output$x4 = DT::renderDataTable({
    if(as.character(input$x3_cells_selected)=="1, 3"){
      mtcars[1,3]
    }

  })

})

1 Ответ

0 голосов
/ 29 ноября 2018

Вот что вам нужно -

library(shiny)
library(DT)

ui <- fluidPage(
  title = 'Select Table Rows',
  h1('A Server-side Table'),
  fluidRow(
    column(9, DT::dataTableOutput('x3')),
    column(3, DT::dataTableOutput('x4'))
  )
)
#server.r
server <- function(input, output, session) {

  # server-side processing
  mtcars2 = mtcars[, 1:8]
  output$x3 = DT::renderDataTable(mtcars2, server = TRUE,
                                  selection=list(target='cell'))

  # print the selected indices
  output$x4 = DT::renderDataTable({
    req(input$x3_cells_selected)
    mtcars[input$x3_cells_selected[,1], input$x3_cells_selected[,2], drop = F]
  })
}

shinyApp(ui, server)
...