Вывести значение выбранной ячейки из таблицы данных - PullRequest
0 голосов
/ 29 октября 2019

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

library(shiny)
library(DT)
data("mtcars")

ui <- shinyUI(
  fluidRow(
    DT::dataTableOutput("myDatatable"),
    verbatimTextOutput("selectedCells")
  )
)

server <- shinyServer(function(input, output, session) {
  output$myDatatable <- DT::renderDataTable(mtcars, 
                                            selection=list(mode="single", target="cell"),
                                            server = FALSE,
                                            rownames=FALSE)

  output$selectedCells <- renderPrint(input$myDatatable_cells_selected)
})

shinyApp(ui, server)

1 Ответ

1 голос
/ 30 октября 2019

Вы можете получить доступ к значению в таблице с помощью номера строки и столбца, как показано ниже:

library(shiny)
library(DT)
data("mtcars")

ui <- shinyUI(fluidRow(
    DT::dataTableOutput("myDatatable"),
    verbatimTextOutput("selectedCells")
))

server <- shinyServer(function(input, output, session) {
    output$myDatatable <- DT::renderDataTable(
        mtcars,
        selection = list(mode = "single", target =
                             "cell"),
        server = FALSE,
        rownames = FALSE
    )

    output$selectedCells <- renderPrint({
        s = input$myDatatable_cells_selected
        if (!is.null(s) && ncol(s) != 0) {
            mtcars[s[1, 1] , s[1, 2] + 1]
        } else {
            NULL
        }
    })
})

shinyApp(ui, server)

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

...