闪亮与flexdashboard,数据帧可变
问题描述:
内Flexdashboard使用有光泽我想策划和显示一个数据帧,其中该数据帧是从我的侧边栏中输入一个变量:闪亮与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="")))
```
正如你可以看到我加载2次我的CSV:
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.)
任何想法如何,我应该储存这些数据帧?
答
闪亮的输入应该在渲染函数,观察者或反应中使用。这就是你遇到错误的原因。在你的情况下,因为你想将结果存储在一个变量中,所以要用reactive()创建一个无功变量。这是soltution:
my_df <- reactive({fread(paste("/Users/woshitom/Desktop/shiny/",input$df,".csv",sep=""))})
+0
感谢您指出。回答编辑。 –
尝试用'my_df
谢谢!工作正常,请提交您的答案我要验证它 – woshitom