R闪亮应用程序,动态滑块值

R闪亮应用程序,动态滑块值,r,shiny,R,Shiny,我需要一个基于外部函数的动态滑块值。在这里,我基于runif(…)制作了它,然而,对于我的现实世界应用程序,它是一个web调用,用于从internet检索一个值,该值可能每天更改一次或类似的内容 global.R dynamicValue = function(){ runif(1) } library(shiny) shinyUI( fluidPage( shiny::sidebarPanel( sliderInput("slider",

我需要一个基于外部函数的动态滑块值。在这里,我基于runif(…)制作了它,然而,对于我的现实世界应用程序,它是一个web调用,用于从internet检索一个值,该值可能每天更改一次或类似的内容

global.R

dynamicValue = function(){
  runif(1)
}
library(shiny)

shinyUI(
  fluidPage(
     shiny::sidebarPanel(
       sliderInput("slider",
                   "SliderInput",
                   min   = 0,
                   max   = 1,
                   value = dynamicValue()
       )
     ),
     shiny::mainPanel(

     )
  )
)
library(shiny)

shinyServer(function(input, output, session) {

  updateSliderInput(session,  "slider", value = dynamicValue() )

})
ui.R

dynamicValue = function(){
  runif(1)
}
library(shiny)

shinyUI(
  fluidPage(
     shiny::sidebarPanel(
       sliderInput("slider",
                   "SliderInput",
                   min   = 0,
                   max   = 1,
                   value = dynamicValue()
       )
     ),
     shiny::mainPanel(

     )
  )
)
library(shiny)

shinyServer(function(input, output, session) {

  updateSliderInput(session,  "slider", value = dynamicValue() )

})
现在,上面的问题是,它只解决一次,就像刷新页面一样,该值保持持久性

这可以通过以下方式解决:

server.R

dynamicValue = function(){
  runif(1)
}
library(shiny)

shinyUI(
  fluidPage(
     shiny::sidebarPanel(
       sliderInput("slider",
                   "SliderInput",
                   min   = 0,
                   max   = 1,
                   value = dynamicValue()
       )
     ),
     shiny::mainPanel(

     )
  )
)
library(shiny)

shinyServer(function(input, output, session) {

  updateSliderInput(session,  "slider", value = dynamicValue() )

})
但是,我有许多绘图,它们只渲染一次,然后滑块被更新,导致所有内容无效并再次渲染


有人能给我解释一下,我怎么能有一个动态滑块,其中的值是由一个非确定性函数确定的,该函数在每次加载页面时,以及在处理任何其他内容之前都会被解析。

Shiny中一个鲜为人知的特性是,静态UI可以是一个在每个连接上都会被调用的函数。它为Rook兼容的HTTP请求对象(您可以在这里忽略)提供一个可选参数

我记不起这是在哪里记录的,但在

将UI封装在函数中,滑块输入在每次页面加载时都会获得一个随机值

library(shiny)

dynamicValue = function(){
  runif(1)
}

ui <- function(request) {
  fluidPage(
    shiny::sidebarPanel(
      sliderInput("slider",
                  "SliderInput",
                  min   = 0,
                  max   = 1,
                  value = dynamicValue()
      )
    ),
    shiny::mainPanel(
    )
  )
}

server <- function(input, output, session) {
}

shinyApp(ui, server)
库(闪亮)
动态值=函数(){
runif(1)
}

uishinny中一个鲜为人知的特性是,静态ui可以是在每个连接上都被调用的函数。它为Rook兼容的HTTP请求对象(您可以在这里忽略)提供一个可选参数

我记不起这是在哪里记录的,但在

将UI封装在函数中,滑块输入在每次页面加载时都会获得一个随机值

library(shiny)

dynamicValue = function(){
  runif(1)
}

ui <- function(request) {
  fluidPage(
    shiny::sidebarPanel(
      sliderInput("slider",
                  "SliderInput",
                  min   = 0,
                  max   = 1,
                  value = dynamicValue()
      )
    ),
    shiny::mainPanel(
    )
  )
}

server <- function(input, output, session) {
}

shinyApp(ui, server)
库(闪亮)
动态值=函数(){
runif(1)
}

真是太棒了。正是我需要的。谢谢,太棒了。正是我需要的。谢谢