标题说这一切真的,我试图想办法创建多个UI元素。
因此,如果我在选择器中有n个元素(数据集) - 这些数据集中的每一个都具有不同的命名列名和不同的长度。我希望这些列名称作为组输入。
我想我可以静态地做这个,如果我知道将会有多少数据集(例如下面的例子) - 但是有没有办法可以迭代地生成checkboxgroupinput呢?
ui.r
library(shiny)
shinyUI(pageWithSidebar(
# Application title
headerPanel("Example"),
sidebarPanel(
checkboxGroupInput("one", "One:",data_in[[1]]),
checkboxGroupInput("two", "Two:",data_in[[2]]),
),
mainPanel(
)
))
答案 0 :(得分:3)
是的,您可以使用renderUI
data_in <- c("Cylinders" = "cyl",
"Transmission" = "am",
"Gears" = "gear")
library(shiny)
runApp(
list(ui = pageWithSidebar(
headerPanel("Example"),
sidebarPanel(
uiOutput("checkbGroups")
),
mainPanel(
)
)
,
server = function(input, output, session){
output$checkbGroups <- renderUI({
lapply(1:10, function(x){
do.call(checkboxGroupInput, list(inputId = x, label = x, choices = data_in))
}
)
}
)
}
)
)