本シリーズでは、「心理学の尺度開発」に特化した、GUIベースの統計処理ソフトを作り上げることを目指しています。
本日は、フレームワークとなるshinydashboardの設定です。
作りながらUPしていますので、ご指摘など歓迎です。
フレームワークの設定
shiny
のプログラムはui.R
とserver.R
からなっています。ここは第2回目でmultiple files
で作り始めたので主要なプログラムが二つに分かれています。
確認するとui.R
はWEBのUI部分のプログラムを書き込む部分で、server.R
がバック(ロジック)側のプログラムを書き込む部分です。
また、shiny
にはプログラムの立ち上げ時に最初に読み込まれるglobal.R
というファイルをつけることも可能です。ライブラリーなど共通のコードはここに書いておけばコード全体がすっきりしますので、ここで設定しておきたいと思います。
左上のアイコンからR Script
をクリックして新しいファイルを作ります。
そして名前[global.R]としてSave as
しておきます。
最初のプログラムの確認
まずは何もない状態からスタートです。
唯一ui.R
にはfluidPage( )
が残っています。これは、Web画面を拡大縮小したときに全体の大きさも拡大縮小して見栄えが良くなるためにbootstrap
を使うために必要なコードで基本デフォルトで入れておく物と考えても良いかと思います。Bootstrap
自体についてはサイトを探すとたくさん情報ありますのでそちらも参考にしてみてください。
#global.R
library(shiny)
#ui.R
shinyUI(fluidPage(
))
#server.R
shinyServer(function(input, output) {
})
ではここで試しに動かしてみましょう。画面中央上ほどにRun App
というボタンがあります。そこをクリックしてみてください・・・・・
はい・・・真っ白な画面が出るだけで何も出ませんね。まだ何も書いてないのでこれでOKです。
プログラムのベース: shinydashboard
ではプログラムのベースとなるダッシュボードを入れていきます。ダッシュボード自体については、本ブログでも取り上げていますので是非ご覧ください。
基本的なコード構成を確認すると以下の通りです。まずはdashboardPage
で3つの要素header
,siderbar
およびbody
を囲みます。
これを先ほどのプログラムに組み込みました。4-8行目が該当部分です。
# ui.R
shinyUI(fluidPage(
dashboardPage(
dashboardHeader(),
dashboardSidebar(),
dashboardBody()
)
))
なお、ダッシュボードを動かすためにはlibrary(shinydashboard)
でライブラリを設定しておく必要があります。これは他のライブラリーと一緒にglobal.R
に置いておくことにします。
# global.R
library(shiny)
library(shinydashboard)
このプログラムを改めてRun App
で走らせてみてください。青色の画面がたちあがりました。
画面をよく見ると大きく3つの要素からできています。それぞれが追加したコードと対応しています。
まとめ
今回は、プログラムの箱を作るところまで実行しました。
次回はもう少しダッシュボードを設定してタブによる画面切り替えなど、プログラム全体がわかり安くなるように作ってみます。