📑
shinyを用いた解析ツールの配布
はじめに
Shinyで開発した解析用ツールを他ユーザーに配布して1クリックで容易に実行してもらうために、そのツールをbatchファイルから起動できるようにセットアップする。なお、配布することが目的であるため、portable版のR環境を同梱する。
手順
-
任意の場所(ここではデスクトップ)に「shinyApp」というフォルダを作成する。
-
「shinyApp」直下に「app」というフォルダを作成して、その下にserver.Rとui.Rの二つのファイルを配置する。ファイルの中身は以下のとおり。
server.R
library(ggplot2)
library(shiny)
function(input, output) {
# Filter data based on selections
output$table <- DT::renderDataTable(DT::datatable({
data <- mpg
if (input$man != "All") {
data <- data[data$manufacturer == input$man,]
}
if (input$cyl != "All") {
data <- data[data$cyl == input$cyl,]
}
if (input$trans != "All") {
data <- data[data$trans == input$trans,]
}
data
}))
}
ui.R
library(ggplot2)
library(shiny)
fluidPage(
titlePanel("Basic DataTable"),
fluidRow(
column(4,
selectInput("man", "Manufacturer:",
c("All", unique(as.character(mpg$manufacturer))))
),
column(4,
selectInput("trans", "Transmission:",
c("All", unique(as.character(mpg$trans))))
),
column(4,
selectInput("cyl", "Cylinders:",
c("All", unique(as.character(mpg$cyl))))
)
),
DT::dataTableOutput("table")
)
-
R portable(現時点で最新のバージョンであるR_Portable_4.2.0.paf.exe)をダウンロードして、「shinyApp」の直下に「R-portable_4.2.0」という名前で展開する。
-
「R-portable_4.2.0」直下のR-Portable.exeを起動して、必要なパッケージをインストールする。ここではshinyをインストールする。
R-portable
install.packages("shiny")
5.「shinyApp」直下にrunApp.Rというファイルを配置する。
runApp.R
library(shiny)
# 自動的にブラウザが立ち上がるように設定する。ポートは特定の番号を除いてランダムに設定される(固定化も可能。詳しくは、help(runApp)で調べること。
shiny::runApp("app", launch.browser=TRUE)
- 「shinyApp」直下に以下の内容の「shiny.bat」というバッチファイルを作成する。
shiny.bat
@echo off
start "" "R-Portable-4.2.0\App\R-Portable\bin\x64\Rscript.exe" runApp.R
作成したフォルダの階層は次の通りである:
- shinyApp
- shiny.bat
- runApp.R
- R-Portable_4.2.0
- app
- server.R
- ui.R
- エクスプローラーで「shiny.bat」ファイルをダブルクリックして、shinyアプリケーションが起動することを確認する。
Discussion