我想在我的服务器中生成滑块(因为我需要的滑块数量取决于其他输入)。正如您将看到下面的代码和图片,出现的滑块看起来不太好。我认为它与我在HTML中指定它们的方式有关(可能与style / css有关吗?)。
以下是代码:
ui <- pageWithSidebar(
headerPanel("test"),
sidebarPanel(
helpText('these sliders do not look good:')
),
mainPanel(uiOutput('slider'))
)
server <- function(input,output, session){
output$slider <- renderTable({
inputs <- paste0("<input id='Sl_C", 1:2, "' class='jslider-pointer jslider-pointer-to' type = 'range' value='c(0,20)' min='0' max='100'>")
matrix <- data.frame(inputs)
},sanitize.text.function = function(x) x)
}
runApp(list(ui=ui,server=server))
任何建议/建议都将受到高度赞赏。
所有最好的
答案 0 :(得分:3)
这是实现多个滑块输入的一种方法。
library(shiny)
multiSliders = function(n, ...){
sliders = lapply(1:n, function(i){
sliderInput(paste0('slider-', i), paste('Slider', i), ...)
})
paste_all = function(...) paste(..., collapse = '\n')
HTML(do.call('paste_all', sliders))
}
runApp(list(
ui = pageWithSidebar(
headerPanel('Multiple Sliders'),
sidebarPanel(
sliderInput('slider-0', 'Slider0', 0, 10, 4),
multiSliders(2, 0, 10, 4)
),
mainPanel()
),
server = function(input, output){
}
))