網頁應用程式1

林嶔 (Lin, Chin)

Lesson 12

什麼是網頁應用程式(WebApp)?

– 前端:使用HTML/CSS/Java Script等技術製作網頁介面(與一般網頁無異)

– 後端:利用預先設定的模組與使用者進行互動,並回傳結果給前端

– 優勢:跨平台、更新方便

– 劣勢:速度較慢、需要穩定的連線

一個WebApp的範例

– 課程進行到這裡,你應該已經有能力寫出幾個有用的函數。如果你能學會寫WebApp,那你還能讓不會寫R語言的人也能使用你寫的這些函數。

第一節:一個簡單的WebApp(1)

– 應該還記得怎樣安裝套件吧!

F12_1

第一節:一個簡單的WebApp(2)

F12_2

第一節:一個簡單的WebApp(3)

library(shiny)

# Define UI for application that plots random distributions 
shinyUI(pageWithSidebar(

  # Application title
  headerPanel("Hello Shiny!"),

  # Sidebar with a slider input for number of observations
  sidebarPanel(
    sliderInput("obs", "Number of observations:", min = 0, max = 1000, value = 500)
  ),

  # Show a plot of the generated distribution
  mainPanel(
    plotOutput("distPlot")
  )
))

F12_3

第一節:一個簡單的WebApp(4)

library(shiny)

# Define server logic required to generate and plot a random distribution
shinyServer(function(input, output) {
  
  # Expression that generates a plot of the distribution. The expression is
  # wrapped in a call to renderPlot to indicate that:
  # 
  # 1) It is 'reactive' and therefore should be automatically re-executed
  # when inputs change 2) Its output type is a plot
  output$distPlot = renderPlot({
    
    # generate an rnorm distribution and plot it
    dist = rnorm(input$obs)
    hist(dist)
  })
  
})

F12_4

第一節:一個簡單的WebApp(5)

F12_5