首先, shiny的基本架構就是由:server和ui兩部分的代碼組成。
ui部分的代碼,shiny會把R的代碼渲染成html,而server端的代碼則會處理運算和reactivity的處理。
在一個最簡單app的template,如下:
library(shiny) #UI部分,會生成html代碼 ui <- fluidPage() #server部分,後端進行運算和reactivity處理 server <- function(input, output){ } shinyApp(ui = ui, server = server)
在ui部分的代碼最主要的概念是分為input和output兩類,這兩類在shiny中分別都有相對應的函數可以使用
Input相關的函數,分別對應其所輸入的資料類型和方式
Output相關的函數,分別對應其所處理的資料種類
在server端,則有三個原則要遵守:
– 每個object使用output$..的方式來指定
– 每個object的創建使用reader*的函數
– 在object創建過程中,要使用從ui輸入的input時,可以用input$nameID來使用
在撰寫一個shiny app 便可以依據上面的架構,依序完成