首页 > 解决方案 > 每次在 R Shiny 中发生动作时,如何更新数据框?

问题描述

我一直在寻找并没有找到任何好的答案,但我正在做非常长且非常复杂的密集计算。如果我将所有方程放在数据表或直方图等的渲染中,很难跟上代码。

当用户输入他们的输入时,有没有一种简单的方法来做这样的事情?

server <- function(input, output, session){
    df <- data.frame(c(12984+(input$spend *1000), input$sales)
}

标签: rshiny

解决方案


正如评论中所建议的,您应该使用反应式表达式来使用反应式输入:

server <- function(input, output, session){
  # Creation of the reactive function
  df <- reactive({
    data.frame(c(12984+(input$spend *1000), input$sales)
  })

  # Create reactive function output
  output$data <- renderTable( df() )
}

请注意,反应数据是一个函数,因此调用df()生成输出。


推荐阅读