2016-11-22 3 views
1

としてデータフレーム光沢のある使用私は、このデータフレームは、私のサイドバーに入力から変数であるデータフレームをプロットして表示したい:、Flexdashboard内の変数

Inputs {.sidebar} 
----------------------------------------------------------------------- 

```{r} 
selectInput("df", label = h3("Select df"), choices = list("january" = "df1", "february" = "df2")) 
``` 

私は、プロットし、私を表示していますタブセット内のデータフレーム:

fread(paste("/Users/woshitom/Desktop/shiny/",input$df,".csv",sep="")) 

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ファイルをロードしています見ることができるように

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.) 

任意のアイデア私はこのデータフレームを保存する方法を?

+1

'my_df <としてみてください - 反応性({関数fread(ペースト( "/ユーザ/ woshitom /デスクトップ/シャイニー/"、入力$ dfの、 " csvファイル"、9月= "") )}) ' –

+0

ありがとう!あなたの答えを提出してください私はそれを検証するつもりです – woshitom

答えて

1

光沢のある入力は、レンダリング関数、オブザーバーまたは反応内で使用する必要があります。このため、エラーが発生しています。あなたのケースでは、変数に結果を格納したいので、reactive()で反応変数を作成します。これはsoltutionです:

my_df <- reactive({fread(paste("/Users/woshitom/Desktop/shiny/",input‌​$df,".csv",sep=""))}‌​) 
+0

それを指摘してくれてありがとう。回答が編集されました。 –