應用程式 2:最受歡迎的嬰兒名字
建立 Shiny 應用程式是一個模組化的流程。你先從 UI 開始,接著撰寫伺服端程式碼,根據使用者輸入來建立輸出。你越有意識地練習這個步驟,之後要打造好的應用程式就會越容易。
現在你要建立一個 Shiny 應用程式,讓使用者可以選擇性別與年份,並以長條圖顯示該年份中最受歡迎的前 10 個名字,長條代表按名字(name)計算的出生比例(prop)。你完成的應用程式在視覺上應該與下方螢幕截圖相似。

我們已提供 get_top_names() 函式,可用來擷取給定 year 與 sex 的前 10 名名字。例如,你可以用 get_top_names(2000, "M") 取得 2000 年的男性前 10 名。
我們也已載入 ggplot2 套件。若有一個資料框 d,其中包含欄位 x 與 y,你可以用下列方式建立長條圖:
ggplot(d, aes(x = x, y = y)) +
geom_col()
本練習屬於課程
使用 R 的 Shiny 建立網頁應用程式
練習說明
- 在應用程式頂端加入標題,並加入側邊欄版面配置。
- 在側邊欄加入一個輸入,讓使用者選擇性別(
M或F)。 - 在側邊欄加入一個滑桿,讓使用者選擇年份(1880 到 2017)。
- 在主面板加入一個圖形輸出。
- 在伺服端加入一個輸出,根據
year與sex繪製長條圖。 注意,你可以在渲染函式的大括號內加入多行程式碼:render***({___})。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
ui <- fluidPage(
)
server <- function(input, output, session) {
}
shinyApp(ui = ui, server = server)