このエントリは、RStudioのEmbedded Shiny Appsを抜粋・翻訳・追記したものです。
http://rmarkdown.rstudio.com/authoring_embedded_shiny.html
概要
rmarkdownで作成したドキュメントには、以下の2通りの方法でShinyアプリケーションを組み込むことができます。
ShinyApp
関数を用いてインラインアプリケーションを定義ShinyAppDir
関数を用いて外部アプリケーションディレクトリを参照
ファイルの先頭に以下のYAMLを記述してRmdファイルを作成し、rmarkdownによる表示を行います。
--- runtime: shiny output: html_document ---
インラインアプリケーション定義
インラインアプリケーションは、以下のコード例のように定義します。コード中のバックスラッシュは、バッククォートを表示させるために挿入しているので、取り除いてください。
\```{r, echo = FALSE} shinyApp( ui = fluidPage( selectInput("region", "Region:", choices = colnames(WorldPhones)), plotOutput("phonePlot") ), server = function(input, output) { output$phonePlot <- renderPlot({ barplot(WorldPhones[,input$region]*1000, ylab = "Number of Telephones", xlab = "Year") }) }, options = list(height = 500) ) \```
パラメータheight
で、組み込んだアプリケーションが占める縦のスペースの大きさを指定します。
外部アプリケーション参照
別のディレクトリに置いたShinyアプリケーションは、以下のコード例のように参照します。コード中のバックスラッシュは、バッククォートを表示させるために挿入しているので、取り除いてください。
\```{r, echo = FALSE} shinyAppDir( system.file("examples/06_tabsets", package="shiny"), options=list( width="100%", height=700 ) ) \```
いずれのRコードも、echo = FALSE
属性を指定しています。この属性により、Rコードは、Shinyのコンポーネントと一緒にレンダリングされません。
実行例
コードを実行すると、markdownによる記述の下側に、Shinyが埋め込まれます。