gpt4 book ai didi

r - 在 Shiny 中设置动态输入的默认值不同

转载 作者:行者123 更新时间:2023-12-01 12:42:34 26 4
gpt4 key购买 nike

我正在尝试运行一个具有动态输入数量的 Shiny 应用程序。我根据之前的堆栈溢出讨论实现了这一点,但现在我想对其进行设置,以便每个输入的起始值都不同。

UI.R 语法的选择:

sidebarPanel(
selectInput("n", "Number of Test Scores Available", choices = c(1,2,3,4), selected = 1),
uiOutput("dyn_input")

server.R 语法的选择:
output$dyn_input <- renderUI({
inputs <- lapply(1:input$n, function(i) {
input_name <- paste("Test", i, sep="")
input_score <- paste("Score", i, sep="")
wellPanel(
selectInput(
input= input_name,
label= "Test Name", choices=c("Fall NWF"="FallNWF",
"Fall ORF"="FallORF",
"Spring NWF"="SpringNWF",
"Spring ORF"="SpringORF"
)),
sliderInput(input_score,"Score:",
min=0, max=250,value=0))
})
do.call(tagList, inputs)
})

当用户选择多个测试时,我希望 Test2 的默认值为 FallORF,Test3 为 SpringNWF,Test4 为 SpringORF,现在它们都默认为 FallNWF。谢谢你的帮助。如果您需要更多信息来帮助我,请随时询问。

最佳答案

看起来不错,你快到了,你只需要设置selected selectInput 中的属性调用。由于您已经拥有索引 i您要为每个动态选择的默认值 selectInput ,你可以像这样实现这个( choices 移动到一个变量和 choices[i] 用于 selected 属性):

output$dyn_input <- renderUI({
inputs <- lapply(1:input$n, function(i) {
input_name <- paste("Test", i, sep="")
input_score <- paste("Score", i, sep="")
choices <- c("Fall NWF"="FallNWF",
"Fall ORF"="FallORF",
"Spring NWF"="SpringNWF",
"Spring ORF"="SpringORF")
wellPanel(
selectInput(
input= input_name,
label= "Test Name", choices=choices, selected = choices[i]),
sliderInput(input_score,"Score:",
min=0, max=250,value=0))
})
do.call(tagList, inputs)
})

关于r - 在 Shiny 中设置动态输入的默认值不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22941841/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com