Lecture8: Shiny

準備:getFreqDir.Rを読み込む

source("getFreqDir.R")
tf <- getFreqDir("univ")

★wordcloudパッケージ

library(wordcloud)
## Loading required package: RColorBrewer

 wordcloud()の実行例1

 wordcloud(words,freq, …)

wordcloud(rownames(tf),tf[,1])

 wordcloud()の実行例2

wordcloud(rownames(tf),tf[,4],min.freq=2,colors=rainbow(10))

 複数文書比較:comparison.cloud()の実行例

hiroshima, kufs

comparison.cloud(tf[,1:2])

osaka1-3

comparison.cloud(tf[,4:6],max.words=60)

 comparison.cloud()の実行例

colnames(tf)
## [1] "hiroshima" "kufs"      "kyoto"     "osaka1"    "osaka2"    "osaka3"   
## [7] "tokyo"     "waseda"
comparison.cloud(univ[,c(F,F,T,F,F,T,T,F)],max.words=60)


shinyのロード

library(shiny)

★shinyアプリケーション用フォルダ

ui.R

shinyUI(bootstrapPage(
  
  # Application title
  headerPanel("Test Hoge"),
  
  # Sidebar
  sidebarPanel(     
      textInput("msg", "Please type your message:")
    ),
  
  # Show a message
  mainPanel(
    textOutput("showMessage")
  )

))

server.R

shinyServer(function(input, output) {
  
  output$showMessage <- renderText({
    input$msg
  })
})

global.R (なくてもOK)

アプリケーションの起動

runApp("shiny_apps/app_hoge")

★例1: “app_freqBar”

アプリケーションの起動

runApp("shiny_apps/app_freqBar")

★例2: “app_freqDist”

アプリケーションの起動

runApp("shiny_apps/app_freqDist")

ui.Rの表示の制御

チエックボックスがONの状態のときに表示

conditionalPanel(condition = "input.Zipf == true",uiOutput("controlK")),

“memoise”パッケージで結果をキャッシュに保存

getFreq <- memoise(function(currentUniv){
  ....
})

★例3: “app_freqBar2”

アプリケーションの起動

runApp("shiny_apps/app_freqBar2")

★例4: “app_freqBar3”

RColorBrewerパッケージ(色パレット)

library(RColorBrewer)

brewer.pal.info[]

色パレットの表示

display.brewer.all()

色パレットの情報取得

brewer.pal.info[]

brewer.pal(使用色数, パレット名)

brewer.pal(5, "BrBG")

Shiny内使用例

runApp("shiny_apps/app_freqBar3")

★課題(締切日1月12日)

階層的クラスター分析のアプリケーション作成

“univ”ディレクトリのテキストデータを使用して、階層的クラスター分析のデンドログラムを表示するアプリケーションを作成してください。
ui画面には以下のinput機能を搭載
1. 距離行列計算法の選択:"euclidean", "canberra", "manhattan"
2. クラスター間距離計算法の選択:"average", "complete", "ward"
3. 樹形図内長方形の数:2-7

作成したアプリケーションのディレクトリを圧縮してメールに添付して提出

出力画面例 alt text