我有一个问题,我必须采取选择输入值并在函数中使用,但我不能在多个渲染(绘图,打印,表)中调用该函数,因为它是一个昂贵的函数。有了闪亮的输入,我想创建一个Filtered数据和其他变量。 我得到的错误方法是:
没有活跃的反应上下文时,不允许操作。
这只是一个简单的例子。
---
title: "TITLE"
output:
flexdashboard::flex_dashboard:
orientation: row
vertical_layout: fill
theme: flatly
runtime: shiny
---
```{r global, include=FALSE}
require(flexdashboard)
require(ggplot2)
df <- data.frame(year = c("2013", "2014", "2015", "2013", "2014", "2015", "2013", "2014", "2015"),
cat = c("A", "A", "A", "B", "B", "B", "C", "C", "C"),
freqA = c(100, 100, 110, 80, 80, 90, 90, 90, 100),
freqB = c(50, 50, 55, 40, 40, 45, 45, 45, 50))
plus <- function(a,b){
return(a + b)
}
```
Column {.sidebar}
-----------------------------------------------------------------------
```{r}
selectInput("a","select A:", c("freqA","freqB"))
selectInput("b","select B:", c("freqA","freqB"))
```
Column {data-width=350}
-----------------------------------------------------------------------
### Itens mais frequentes
```{r}
sum <- plus(df[,input$a], df[input$b])
```
### Chart C
```{r}
```
Column {data-width=650,data-high=10}
-----------------------------------------------------------------------
### Relações
```{r}
```
答案 0 :(得分:1)
这就是错误消息所说的方式:您只能在反应式表达式中使用reactives
(例如输入元素)。
这是因为每次输入元素更改时,都必须重新输出输出,并且只能在reactive context
中执行此操作。
修改强>