r闪亮的滑块输入圆形

Eth*_*han 3 r rounding uislider shiny

我有一个R闪亮滑块输入的问题."圆形功能"无法正常工作,如图所示.我做错什么了吗 ?

  sliderInput("Er", "Choose expected return (in percent)",
              min = min, max = max, value = min , round = -1,
              sep = "" , post = "%", ticks = FALSE
          )
Run Code Online (Sandbox Code Playgroud)

Hub*_*rtL 7

你必须指定一个step为round荷兰国际集团工作:

library(shiny)
min_Er <- 20.31
max_Er <- 23.59
shinyApp( ui = fluidPage(sliderInput("Er1", "Rounding doesn't work", 
                                     round = -2, step = NULL,
                                     min = min_Er, 
                                     max = max_Er,
                                     value = min_Er,
                                     sep = "" , post = "%", ticks = FALSE),

                         sliderInput("Er2", "Rounding works",  
                                     round = -2, step = 0.01,
                                     min = min_Er, 
                                     max = max_Er,
                                     value = min_Er,
                                     sep = "" , post = "%", ticks = FALSE)
), server=function(input, output, session){
  observe(print(input$Er1))
  observe(print(input$Er2))
})
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

否则,由@Ryan莫顿评论,如果您使用整数的min和max,roundING将即使工作step = NULL:

library(shiny)
min_Er <- 20.31
max_Er <- 23.59
shinyApp(ui = fluidPage(sliderInput("Er1", "Rounding doesn't work", 
                                    round = TRUE,
                                    min = min_Er, 
                                    max = max_Er,
                                    value = min_Er, 
                                    sep = "" , post = "%", ticks = FALSE),

                        sliderInput("Er2", "Rounding works",  
                                    round = TRUE,
                                    min = floor(min_Er), 
                                    max = ceiling(max_Er),
                                    value = min_Er,
                                    sep = "" , post = "%", ticks = FALSE)
), server=function(input, output, session){
  observe(print(input$Er1))
  observe(print(input$Er2))
})
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述