【发布时间】:2016-11-22 05:03:37
【问题描述】:
在 Flexdashboard 中使用闪亮我想绘制并显示一个数据框,其中该数据框是我侧边栏中输入的变量:
Inputs {.sidebar}
-----------------------------------------------------------------------
```{r}
selectInput("df", label = h3("Select df"), choices = list("january" = "df1", "february" = "df2"))
```
然后我在标签集中绘制和显示我的数据框:
Row {.tabset}
-----------------------------------------------------------------------
### Plot
```{r}
renderPlot({
plot(fread(paste("/Users/woshitom/Desktop/shiny/",input$df,".csv",sep="")),type="o", col="blue")
})
```
### Data
```{r}
renderTable(fread(paste("/Users/woshitom/Desktop/shiny/",input$df,".csv",sep="")))
```
如您所见,我的 csv 加载了 2 次:
fread(paste("/Users/woshitom/Desktop/shiny/",input$df,".csv",sep=""))
相反,我想将它存储在一个变量中:
my_df <- fread(paste("/Users/woshitom/Desktop/shiny/",input$df,".csv",sep=""))
但是当我这样做时,我收到以下错误:
Operation not allowed without an active reactive context. (You tried to do something that can only be done from inside a reactive expression or observer.)
知道我应该如何存储这个数据框吗?
【问题讨论】:
-
试试
my_df <- reactive({fread(paste("/Users/woshitom/Desktop/shiny/",input$df,".csv",sep=""))}) -
谢谢!工作正常,请提交您的答案,我会验证它
标签: r variables shiny fread flexdashboard