Прочитайте значение, которое содержит ячейка при выборе в таблице данных - PullRequest
0 голосов
/ 21 января 2019

У меня есть 2 кадра данных ниже:

Name<-c("John","Bob","Jack")
Number<-c(3,3,5)
NN<-data.frame(Name,Number)

d1<-c("a",NA,"b")
d2<-c("a","a","b")
d3<-c(NA,NA,"b")
d4<-c("a","c","b")
d5<-c(NA,"b","b")
NN2<-data.frame(Name,d1,d2,d3,d4,d5)

NN содержит имена и количество входов не-NA для каждого имени в NN2.Я создал блестящее приложение, которое отображает данные NN.Я хочу иметь возможность нажимать на каждое имя и получать вторую таблицу с относительной строкой NN2, как вы увидите, если нажать на John.Проблема в том, что вместо того, чтобы узнать, какое имя я выбрал со строкой и столбцом, с которым я делаю: if(input$x3_cells_selected[,1]==1&input$x3_cells_selected[,2]==1), я хотел бы распознать его по имени автоматически.Это означает, что когда я нажимаю John в 1-й таблице, алгоритм не увидит 1-й столбец-1-ю строку, но будет искать данные John во 2-й таблице.

#ui.r
library(shiny)

fluidPage(

  fluidRow(
    DT::dataTableOutput('x3')

  ),
  fluidRow(
    DT::dataTableOutput('x4')
  )

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

shinyServer(function(input, output, session) {

  output$x3 = DT::renderDataTable(datatable(NN,selection = list(target="cell",mode="single")))

  second<-reactive({
    req(input$x3_cells_selected)
    if(input$x3_cells_selected[,1]==1&input$x3_cells_selected[,2]==1){
      NN2[1,2:6]
    }

  })

  output$x4 = DT::renderDataTable(datatable(second(),rownames = F))



})
...