Download presentation
Presentation is loading. Please wait.
1
SHINYについて 黄研究室4年 小林賢哉
2
SHINYとは 2012年11月に初登場 インタラクティブなWebアプリケーションを Rで手軽に作れるRのライブラリ
3
サンプル http://shiny.rstudio.com/gallery/kmeans-example.html 他にも色々見たい場合
4
作ってみよう!!! Rstudioを起動 「New Project」→「New Directory」 →「Shiny Web Application」 名前は適当で、「Create Project」 既にコードは書かれてるので起動してみよう!!!
5
解説:ファイル Server.R →パソコンで処理する部分。 出力に関することはこちらに Ui.R
→パソコンで処理する部分。 出力に関することはこちらに Ui.R →インターフェースのレイアウトを調整する。 ファイル名はこのままでないと動かない この2つがあって初めて動く
6
解説:レイアウト Ui.R → shinyUI(fluidPage( ← レイアウトの設定 他にも色々あるよ!!!
7
解説:レイアウト titlePanel mainPanel sidebarPanel
8
解説:ソースコード(ui.R) ()の中で、次に行く時は、「,」を忘れない titlePanel sidebarPanel
shinyUI(fluidPage( ページの設定 titlePanel("Old Faithful Geyser Data"), sidebarLayout( sidebarPanel( sliderInput(“bins”, 引数 “Number of bins:”, ラベル min = 1, 最小の値 max = 50, 最大値 value = 30) 最初の値 ), mainPanel( plotOutput("distPlot") ) )) ()の中で、次に行く時は、「,」を忘れない titlePanel sidebarPanel スライドバーのインプットについて mainPanel 出力について書いている
9
解説:ソースコード(server.R) shinyServer(function(input, output) {
Render*→リアルタイムな出力に対して ウィジェットの値が変わった 時、実行される。 Output$*→ui.Rで書いたものに対応 Input$*→ウィジェットの値に対応 R言語を普通に書き込める!!! shinyServer(function(input, output) { output$distPlot <- renderPlot({ x <- faithful[, 2] bins <- seq(min(x), max(x), length.out = input$bins + 1) hist(x, breaks = bins, col = 'darkgray', border = 'white') }) 出力について: ヒストグラムについて 書いている
10
つまりぃ・・・ Ui.R server.R shinyServer(function(input, output) {
shinyUI(fluidPage( titlePanel("Old Faithful Geyser Data"), sidebarLayout( sidebarPanel( sliderInput("bins", “Number of bins:”, min = 1, max = 50, value = 30) ), mainPanel( plotOutput("distPlot") ) )) shinyServer(function(input, output) { output$distPlot <- renderPlot({ x <- faithful[, 2] bins <- seq(min(x), max(x), length.out = input$bins + 1) hist(x, breaks = bins, col = 'darkgray', border = 'white') })
11
もっと色々正確に知りたい!! インターフェースについて ウィジェットについて 出力について
12
問題 このようなアプリケーションをつくれ 「倍の数字」・「気分」は、ウィジェットによって、 リアルタイムに変更される。
13
ヒント 分からないことがあったら聞いてください。 答えられる範囲で答えます。
とはいいません!!! スライドに書かれてない事は添付したURLの内容を参考に!!! 分からないことがあったら聞いてください。 答えられる範囲で答えます。
14
終わった人は・・・・応用!!! 今までのプロジェクトで行った分析をWebアプリケーションにしてみよう!!!
15
Server.R # This is the server logic for a Shiny web application. # You can find out more about building applications with Shiny here: # # library(shiny) shinyServer(function(input, output) { output$text <- renderText({ paste("今の自分の気分はいつもより", input$bins ,"倍" , input$radio) })
16
# This is the user-interface definition of a Shiny web application.
# You can find out more about building applications with Shiny here: # # library(shiny) shinyUI(fluidPage( # Application title titlePanel("11月6日黄プロジェクト問題"), # Sidebar with a slider input for number of bins sidebarLayout( sidebarPanel( sliderInput("bins", "何倍?", min = 100, max = 1000, value = 500), radioButtons("radio", label = h3("気分は?"), choices = list("最高" = "最高", "早く帰りたい" = "早く帰りたい", "もう授業終われ" = "もう授業終われ"),selected = "最高") ), ui.R
17
# Show a plot of the generated distribution
mainPanel( textOutput("text") ) )) ui.R
Similar presentations
© 2024 slidesplayer.net Inc.
All rights reserved.