【发布时间】:2017-05-27 03:59:54
【问题描述】:
我对反应性感到困惑,希望你们中的某个人能提供帮助。
当我在代码中使用eventReactive 时,我包含了一个涉及变量rpcMatrix 的计算,该变量不会返回。 (相反,另一个变量 DF_new 被返回。)我承认这是一种草率的做事方式,但我认为它没有理由不工作。
现在,变量RPC 在observeEvent 函数中定义。尽管RPC 不是响应式的,但我相信它的值在observeEvent 函数中确实会发生变化,因为wb 会根据states() 响应式变量发生变化。当RPC 发生变化时,我希望eventReactive 函数会导致rpcMatrix 在for 循环中发生变化。
如果两个变量都在 eventReactive 中,rpcMatrix 会根据 RPC 的变化而变化吗?
我避免使用reactive 关键字的原因是因为它给我使用loadWorkbook 命令分配wb 带来了麻烦。
非常感谢你们的帮助。我希望我把我的问题说清楚了。
observeEvent(input$submit,{
#NEXT 2 LINE ARE PERTINENT TO QUESTION:
wb <<- loadWorkbook(file =file.path(src,"www","State_Vectors",states()))
...
RPC<<-read.xlsx(wb,sheet=1,startRow=1,cols=11)
})
data = eventReactive(input$submit,{
...
DF_new<<- hot_to_r(input$tbl)
*NEXT 2 LINES ARE PERTINENT TO QUESTION:
rpcMatrix<<-as.data.frame(matrix(0, nrow= dim(as.matrix(category))[1], ncol =dim(as.matrix(category))[1]))
for(i in 1:dim(category)[1]) #NTP
{
for(j in 1:dim(category)[1])
{
rpcMatrix[i,j]<<-as.matrix(RPC[i,1])
}
}
DF_new<<-DF_new[,-c(1,2,6)]
}
return(DF_new)
})
【问题讨论】:
-
使用 reactive 或 eventReactive 你真的不需要
<<-