【问题标题】:show numeric inputs in random order in Shiny在 Shiny 中以随机顺序显示数字输入
【发布时间】:2019-10-31 07:37:24
【问题描述】:

我想在闪亮的应用程序中随机化数字输入的顺序。意思是,如果我从这个工作示例开始:

library(shiny)

ui <- fluidPage(
  numericInput("inpA", "input A:", 10, min = 1, max = 100),
  numericInput("inpB", "input B:", 10, min = 1, max = 100),
  numericInput("inpC", "input C:", 10, min = 1, max = 100),
  numericInput("inpD", "input D:", 10, min = 1, max = 100)
)

server <- function(input, output) {
}

# Run the application
shinyApp(ui = ui, server = server)

我希望每次运行应用程序时,输入以不同的顺序出现在屏幕上:

[输入A:]

[输入B:]

[输入D:]

[输入 C: ]

[输入B:]

[输入A:]

[输入 C: ]

[输入D:]

等等

谢谢

G

【问题讨论】:

    标签: r shiny


    【解决方案1】:

    要随机化您的 numericInput 订单,请在服务器代码中创建动态 uiOutput

    library(shiny)
    
    ui <- fluidPage(
        uiOutput("dynInputs")
    )
    
    server <- function(input, output) { 
        inpNames <- paste(LETTERS[1:4])
    
        output$dynInputs <- renderUI({
            div(
                lapply(sample(inpNames), function(x) { 
                    numericInput( assign(paste0("inp", x), paste0("inp",x)),
                                  label=paste("input",x), value=10, min=1, max=100)
                })
    
            )
        })
    }
    
    shinyApp(ui = ui, server = server)
    

    这就是它的样子:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-04-02
      • 2013-02-23
      • 1970-01-01
      • 2019-02-23
      • 2012-05-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多