アプリ2:人気のある赤ちゃんの名前
Shiny アプリの構築はモジュール式のプロセスです。まず UI を作り、次にサーバー側のコードを実装し、ユーザー入力に基づいて出力を作ります。この進め方を意識して練習するほど、良いアプリを作るのがどんどん楽になります。
これから、ユーザーが性別と年を選べる Shiny アプリを作成します。指定した年の上位10件の人気の名前を、名前(name)ごとの出生割合(prop)を示す棒グラフで表示します。完成したアプリは、下のスクリーンショットのような見た目になります。

上位10件の名前を取り出すための関数 get_top_names() を用意しています。year と sex を指定します。たとえば、2000年の男性の上位10件は get_top_names(2000, "M") で取得できます。
ggplot2 パッケージも読み込んであります。列 x と y を持つデータフレーム d から棒グラフを作るには、次のようにします。
ggplot(d, aes(x = x, y = y)) +
geom_col()
この演習はコースの一部です
Rで作るShiny Webアプリケーション
演習の手順
- アプリの上部にタイトルを追加し、サイドバーのレイアウトを用意します。
- サイドバーに、ユーザーが性別(
MまたはF)を選べる入力を追加します。 - サイドバーに、ユーザーが年(1880〜2017)を選べるスライダーを追加します。
- メインパネルにプロット出力を追加します。
- サーバーに、
yearとsexに基づいて棒グラフを描画する出力を追加します。 なお、レンダリング関数の波かっこの中には複数行のコードを記述できます:render***({___}).
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
ui <- fluidPage(
)
server <- function(input, output, session) {
}
shinyApp(ui = ui, server = server)