R 为表格中的每一行选择Input
我有一个表,它有三列,行数可变。我想创建一个列,使新列的每一行都包含一个值为Yes/No的selectInput 在shell中,如何自动生成与表中的行数相等的selectInput 下面是一个简单的代码:R 为表格中的每一行选择Input,r,shiny,R,Shiny,我有一个表,它有三列,行数可变。我想创建一个列,使新列的每一行都包含一个值为Yes/No的selectInput 在shell中,如何自动生成与表中的行数相等的selectInput 下面是一个简单的代码: library(shiny) library(rhandsontable) ui <- fluidPage( tableOutput('Simpletable') ) server <- function(input,output,session)({ data
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)
库(闪亮)
图书馆(rhandsontable)
ui这里有一个使用库(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)
库(闪亮)
图书馆(DT)
库(数据表)
ui您使用selectInputs
的目的是什么?有趣的是,如果从输入中选择了yes,我如何制作差异列来计算C1和C2之间的差异?您需要编写一个JS回调函数。有关示例,请参见。