🦁

shinyを用いた解析ツールの配布

2023/12/05に公開

はじめに

Shinyで開発した解析用ツールを他ユーザーに配布して1クリックで容易に実行してもらうために、そのツールをbatchファイルから起動できるようにセットアップする。なお、配布することが目的であるため、portable版のR環境を同梱する。

手順

  1. 任意の場所(ここではデスクトップ)に「shinyApp」というフォルダを作成する。

  2. 「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")
)
  1. R portable(現時点で最新のバージョンであるR_Portable_4.2.0.paf.exe)をダウンロードして、「shinyApp」の直下に「R-portable_4.2.0」という名前で展開する。

  2. 「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)
  1. 「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
  1. エクスプローラーで「shiny.bat」ファイルをダブルクリックして、shinyアプリケーションが起動することを確認する。

参考文献

  1. R portableをセットアップする
  2. バッチファイルの基本的な使い方
  3. バッチファイル内の%~dp0とは
  4. R ポータブル版の準備と PostgreSQL への接続

Discussion