gpt4 book ai didi

R Shiny 使 slider 值动态化

转载 作者:行者123 更新时间:2023-12-04 10:54:32 27 4
gpt4 key购买 nike

我有一个下拉选择器和一个 slider 刻度。我想用下拉选择器作为数据源来渲染一个图。 - 我有这部分工作

我只是希望 slider 的最大值根据选择的数据集而改变。

有什么建议么?

服务器.R

library(shiny)
shinyServer(function(input, output) {

source("profile_plot.R")
load("test.Rdata")

output$distPlot <- renderPlot({
if(input$selection == "raw") {
plot_data <- as.matrix(obatch[1:input$probes,1:36])
} else if(input$selection == "normalised") {
plot_data <- as.matrix(eset.spike[1:input$probes,1:36])
}

plot_profile(plot_data, treatments = treatment, sep = TRUE)
})
})

ui.R
图书馆( Shiny )
shinyUI(fluidPage(
titlePanel("Profile Plot"),

sidebarLayout(
sidebarPanel(width=3,
selectInput("selection", "Choose a dataset:",
choices=c('raw', 'normalised')),
hr(),
sliderInput("probes",
"Number of probes:",
min = 2,
max = 3540,
value = 10)
),
mainPanel(
plotOutput("distPlot")
)
)
))

最佳答案

正如@Edik 指出的那样,最好的方法是使用 update..类型函数。看起来像 updateSliderInput不允许控制范围,因此您可以尝试使用 renderUI在服务器端:

library(shiny)
runApp(list(
ui = bootstrapPage(
numericInput('n', 'Maximum of slider', 100),
uiOutput("slider"),
textOutput("test")
),
server = function(input, output) {
output$slider <- renderUI({
sliderInput("myslider", "Slider text", 1,
max(input$n, isolate(input$myslider)), 21)
})

output$test <- renderText({input$myslider})
}
))

关于R Shiny 使 slider 值动态化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24111290/

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