【发布时间】:2018-11-24 03:51:22
【问题描述】:
我正在尝试将一个简单的整数传递给 Shiny Flexdashboard。但由于某种原因,我只能静态地处理它,但我宁愿重新激活它;
aggregated_static <- readRDS( "../rdsdata/aggregated_static.rds")
k <- nrow(aggregated_static)
那段代码将行数传递给我的 Shiny dash,在那里可以访问它;
item_lines = k
但是,如果我这样做,它将不起作用,告诉我无法从该位置访问反应性内容;
set_aggregated <- reactiveFileReader(1000, session, "./rdsdata/set_aggregated.rds", readRDS)
k <- nrow(aggregated_static())
在没有主动响应上下文的情况下不允许操作。 (你试图做一些只能从反应式表达式或观察者内部完成的事情。)
现在我已经尝试使用 Isolate,创建一个用响应式 ({}) 封闭它的函数,但我只是无法让该值传递。有没有办法做到这一点?
【问题讨论】:
-
可以定义k并用作
data <- reactivevalues(k=0);data$k <-nrow(...) -
请提供一个可重现的例子,这将让其他人更好地帮助你。请参阅How to make a Shiny app reproducible example? 了解有关如何操作的一些提示。