【问题标题】:Shiny in R: How can I send a number from server to ui?Shiny in R:如何将数字从服务器发送到ui?
【发布时间】:2016-09-03 01:19:24
【问题描述】:

出于布局原因,我尝试将单个数字(例如地块数)从服务器发送到 ui。此外,我想用这个数字来定义一个盒子的宽度。

这可能吗?如果,如何?非常感谢您的帮助。

【问题讨论】:

标签: r shiny dashboard


【解决方案1】:

我想如果我理解正确,你会想要实现以下目标:

  1. UI 中的输入字段向服务器发送一个值。
  2. 服务器对其进行处理并生成结果值
  3. 第 2 步生成的值返回成为另一个输入字段或可能与第 1 步相同的输入字段的一部分。

你可以在服务器上做这样的事情:

shinyServer(func = function(input, output, session) {
    field1_options <- reactive({
       if (!is.null(input$field1)) {
          method1(input$field1)
       } else {
          method2(input$field1) 
       }
    })

    observe({
       updateSelectInput(
       session,
       inputId = "field2",
       choices=field1_options())
    })
}

这只是简单地使用来自 field1 的值来计算和填充 field2,这里我使用了 Select Input 的示例。

【讨论】:

  • @sigmabeta。非常感谢您的回答。这听起来很有希望。您对方法1和2的确切含义是什么? ui 端会是什么样子?我假设这只是一个简单的 selectInput,它会更新吗?
  • Ui 是的,这将是一个选择输入。 Method1 和 2 将是您定义的关于如何使用选择输入值和显示内容的自定义函数。例如,从 csv 文件中读取值,然后在 method2 中从其他数据框中获取值
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-12-13
  • 2017-07-12
  • 1970-01-01
  • 2021-04-20
  • 2018-06-12
相关资源
最近更新 更多