始める無料で始める

アプリ2:人気のある赤ちゃんの名前

Shiny アプリの構築はモジュール式のプロセスです。まず UI を作り、次にサーバー側のコードを実装し、ユーザー入力に基づいて出力を作ります。この進め方を意識して練習するほど、良いアプリを作るのがどんどん楽になります。

これから、ユーザーが性別と年を選べる Shiny アプリを作成します。指定した年の上位10件の人気の名前を、名前(name)ごとの出生割合(prop)を示す棒グラフで表示します。完成したアプリは、下のスクリーンショットのような見た目になります。

左のサイドバーに名前セレクターと年のスライダーがあり、右のメインパネルにグラフが表示されるアプリ

上位10件の名前を取り出すための関数 get_top_names() を用意しています。yearsex を指定します。たとえば、2000年の男性の上位10件は get_top_names(2000, "M") で取得できます。

ggplot2 パッケージも読み込んであります。列 xy を持つデータフレーム d から棒グラフを作るには、次のようにします。

ggplot(d, aes(x = x, y = y)) +
  geom_col()

この演習はコースの一部です

Rで作るShiny Webアプリケーション

コースを見る

演習の手順

  • アプリの上部にタイトルを追加し、サイドバーのレイアウトを用意します。
  • サイドバーに、ユーザーが性別(M または F)を選べる入力を追加します。
  • サイドバーに、ユーザーが年(1880〜2017)を選べるスライダーを追加します。
  • メインパネルにプロット出力を追加します。
  • サーバーに、yearsex に基づいて棒グラフを描画する出力を追加します。 なお、レンダリング関数の波かっこの中には複数行のコードを記述できます: render***({___}).

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

ui <- fluidPage(
  
)

server <- function(input, output, session) {
  
}

shinyApp(ui = ui, server = server)
コードを編集して実行