通过在Shiny中使用无功值来通知相关函数

时间:2016-12-03 19:30:16

标签: r shiny reactive

我理解反应值会根据描述here

通知依赖于该值的任何反应函数

基于此我想利用这个属性并创建一个for循环,为我的被动值对象分配不同的值,反过来我期望另一个被动函数重新执行自己,因为被动值在内部发生变化for循环。以下是我想要做的简化示例:

这是ui.R

library(shiny)

# Define UI 
shinyUI(pageWithSidebar(
  titlePanel("" ,"For loop with reactive values"),
  # Application title
  headerPanel(h5(textOutput("Dummy Example"))),

  sidebarLayout(
  #Sidebar
    sidebarPanel(
      textInput("URLtext", "Enter csv of urls", value = "", width = NULL, placeholder = "Input csv here"),
      br()

    ),

    # Main Panel
    mainPanel(

      h3(textOutput("caption")) 


    )
  )
))   

这是服务器文件:

library(shiny)

shinyServer(function(input, output) {

  values = reactiveValues(a = character())
  reactive({
    url_df = read.table(input$URLtext)
    for (i in 1:5){
      values$a = as.character(url_df[i,1])
      Sys.sleep(1)
    }
  })
  output$caption <- renderText(values$a) 
})

这不会给出预期的结果。实际上当我检查values$a的内容时 它是空的。请帮忙!

0 个答案:

没有答案