如何将reactive()应用于被动对象?

如何将reactive()应用于被动对象?,r,shiny,R,Shiny,我想在一个闪亮的应用程序中绘制一个图表。然后我想在同一个图形上添加多个阴影。在我向您展示我的代码之前,让我定义我的sampe数据 dg= reactive ({dygraph(X1(), main ="interactive graph", xlab = "time frame", ylab = "records" ) %>% dyRangeSelector() }) # I have a table for the shade

我想在一个闪亮的应用程序中绘制一个图表。然后我想在同一个图形上添加多个阴影。在我向您展示我的代码之前,让我定义我的sampe数据

dg= reactive ({dygraph(X1(), main ="interactive graph",
              xlab = "time frame",
              ylab = "records" ) %>% dyRangeSelector()  }) 

# I have a table for the shades to be added, it's defined with reactive

shade_tab=reactive({ Panne[Panne$Equipement==input$machine,] })  

# add shades

for( i in 1:nrow(shade_tab())) 
       { dg()= reactive({
               dyShading(dg(), from= shade_tab()$Date[i],
                               to  = shade_tab()$Date[i] + 24*60*60 , 
                             color = 'black'                                
                       })
       } 

  output$dygraph <- renderDygraph({ dg()() })
dg=reactive({dygraph(X1(),main=“交互式图形”,
xlab=“时间范围”,
ylab=“records”)%%>%dyRangeSelector()})
#我有一个要添加的色调表,它是用反应性颜色定义的
shade_tab=反应性({Panne[Panne$equipment==input$machine,]})
#添加阴影
对于(i in 1:nrow(shade_tab()))
{dg()=reactive({
遮光(dg(),from=shade_tab()$Date[i],
to=shade_tab()$Date[i]+24*60*60,
颜色=‘黑色’
})
} 

输出$dygraph必须在反应性环境中调用反应性表达式。因此,
shade_tab()
在该
for
中不起作用,因为它位于反应性环境之外。您可以通过将
for
包装在
中来解决此问题

上的“基础”部分对此做了很好的解释:)

请尝试制作一个合适的文件,我们可以将其复制/粘贴到R中并运行。您不应该尝试分配给reactive()对象。我不确定您何时期望
for
循环运行,但它似乎应该位于
dg
反应式表达式中。