UI & Server
我們來把構建簡單的Shiny應用程序的流程走一遍。shiny程序是個簡單的目錄,里面包括用戶接口的定義、服務端腳本以及起支持作用的數(shù)據(jù)、腳本和其他資源。
構建應用程序之初,先建一個空目錄,在這個目錄里創(chuàng)建空文件ui.R
和 server.R
。為了便于解釋,我們假定你選擇在~/shinyapp創(chuàng)建程序:
~/shinyapp |-- ui.R |-- server.R
現(xiàn)在我們將在每個源文件中添加所需的最少代碼。先定義用戶接口,調(diào)用函數(shù)pageWithSidebar
并傳遞它的結(jié)果到shinyUI
函數(shù):
ui.R
library(shiny)
# Define UI for miles per gallon application
shinyUI(pageWithSidebar(
# Application title
headerPanel("Miles Per Gallon"),
sidebarPanel(),
mainPanel()
))
三個函數(shù) headerPanel
、sidebarPanel
和 mainPanel
定義了用戶接口的不同區(qū)域。 程序?qū)凶?“Miles Per Gallon”,所以在創(chuàng)建header panel的時候我們把它設置為標題。其他panel到目前為止還是空的。
我們來定義一個簡單的服務端實現(xiàn)。我們調(diào)用shinyServer
并傳遞給它一個函數(shù),用來接收兩個參數(shù):input
和output
server.R
library(shiny)
# Define server logic required to plot various variables against mpg
shinyServer(function(input,
output)
{
})
服務端程序現(xiàn)在還是空的,不過之后我們會用它來定義輸入和輸出的關系。
我們來創(chuàng)建一個最小的Shiny應用程序。你可以調(diào)用runApp
函數(shù)來運行這個程序:
> library(shiny)
> runApp("~/shinyapp")
如果一切正常,你會在瀏覽器里看到如下圖所示的應用程序:

我們創(chuàng)建了一個可運行的shiny程序,盡管它還做不了什么。 下一節(jié),我們會完善用戶接口并實現(xiàn)服務端腳本,來完成這個應用程序。








暫無數(shù)據(jù)