在 Shiny 中为表格的每一行选择输入

Fah*_*bar 2 r shiny

我有一个包含三列和可变行数的表。我想创建一个列,以便新列的每一行都包含一个值为 Yes/No 的 selectInput。

简而言之,我如何自动生成等于表中行数的 selectInput

这是一个简单的代码:

library(shiny)
library(rhandsontable)

ui <- fluidPage(

  tableOutput('Simpletable')

)

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

  data <- data.frame(c1=c(5,10,15), c2=c(3,6,9) , diff=c(0,0,0), select= as.logical( c(FALSE,FALSE,FALSE)))


  output$Simpletable <- renderTable(
    data
  )

}) 

shinyApp(ui = ui, server = server) 
Run Code Online (Sandbox Code Playgroud)

对于这个表,三个 selectInputs 应该出现在表的旁边

这可能吗 ?

谢谢

ism*_*gal 7

这是使用library(DT). 到目前为止 selectInputs 没有做任何事情,因为我不知道你的意图是什么。

library(shiny)
library(DT)
library(data.table)

ui <- fluidPage(
  dataTableOutput('myTableOutput')
)

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

  myTable <- data.table(c1=c(5,10,15), c2=c(3,6,9) , diff=c(0,0,0))

  inputVec <- vector(mode = "character", length = 0)
  for(i in seq(nrow(myTable))){
    inputVec[i] <- as.character(selectInput(inputId=paste0("row_select_", i), label=NULL, choices=c(yes=TRUE, no=FALSE)))
  }

  myTable[, select := inputVec]
  output$myTableOutput <- DT::renderDataTable({myTable}, escape=FALSE)
} 

shinyApp(ui = ui, server = server) 
Run Code Online (Sandbox Code Playgroud)