【レポート課題のサンプル①】金沢広域急病センター利用者数:

コロナ禍の変化を中心に

Author

苅谷 千尋

Published

Wednesday, 30, Apr, 2025

Modified

Tuesday, 5, Aug, 2025

このページは、受講生の最終成果物のサンプルとして、成果物を模して作成します。章・節といった構成や文章(内容)については各自、お考え下さい

セットアップチャンクは、表示する必要はありませんが、受講生の便宜のために表示しています

レンダリングのフォント設定:Windowsの場合

このページはMacで動くように設定しています。Windows ユーザーは以下のセットアップチャンク内の設定フォント

  • 「Hiragino Sans」を「Meiryo」
  • 「HiraginoSans-W3」を「Meiryo」

に置き換えて下さい。フォントサイズはMeiryoでなくてもかまいません。お使いのPCにインストールされている好みのフォントをお使い下さい。

文字が表示されない(=日本語が□で表示されたら)教えてください。

セットアップチャンク

セットアップチャンクは、表示する必要はありませんが、受講生の便宜のために表示しています

このページはMacで動くように設定しています。以下のセットアップチャンク内の設定フォント「HiraginoSans-W3」を「Meiryo」に置き換えて下さい

Code
# ggplotのデフォルト設定の調整 ----
## フォントファミリとサイズ

ggplot2::theme_set(
  ggplot2::theme_get() +
    ggplot2::theme(text = ggplot2::element_text(family = "HiraginoSans-W3", size = 9))
)
# 
# ## text/labelのフォントファミリとサイズ
ggplot2::update_geom_defaults(
  "text",
  list(family = "HiraginoSans-W3", size = 3)
)

ggplot2::update_geom_defaults(
  "label",
  list(family = "HiraginoSans-W3", size = 3)
)

# パッケージの読み込み ----
library(tidyverse) # tidyverse
library(readxl) # エクセルファイルの読み込み

library(skimr) # 統計量の要約
library(scales) # スケール
library(gt) # 表
library(zoo)  # rollmean()を使うために必要

## ggplot系の追加パッケージ
library(ggrepel) # テキストの重なりを防ぐ
library(gghighlight) # ハイライト
library(plotly) # 図をインタラクティブに
library(ggpubr) # 相関係数やp値の出力に使用

library(zipangu) # 元号を西暦に変換するために使用


# データの読み込み ----

df_hospital <- 
  read_csv("data/金沢広域急病センター利用者数.csv") |> 
  mutate(
    曜日 = factor(曜日, levels = c("月", "火", "水", "木", "金", "土", "日"))
  )

# 縦持ちデータ ----

df_hospital_long <- 
  df_hospital |> 
  pivot_longer(
    cols = c("小児科", "内科"),
    names_to = "専門",
    values_to = "利用者数"
  ) |> 
  mutate(
    専門 = factor(専門, levels = c("内科", "小児科"))
  ) |> 
  select(日付, 曜日, 土日祝, 専門, 利用者数)

このページは、受講生のレポート(最終成果物)のサンプルとして、成果物を模して作成します。章・節といった構成や文章(内容)については各自、お考え下さい

はじめに

問題関心やレポートの目的などについて、文章で説明して下さい

あのイーハトーヴォのすきとおった風、夏でも底に冷たさをもつ青いそら、うつくしい森で飾られたモリーオ市、郊外のぎらぎらひかる草の波。またそのなかでいっしょになったたくさんのひとたち、ファゼーロとロザーロ、羊飼のミーロや、顔の赤いこどもたち、地主のテーモ、山猫博士のボーガント・デストゥパーゴなど、いまこの暗い巨きな石の建物のなかで考えていると、みんなむかし風のなつかしい青い幻燈のように思われます。では、わたくしはいつかの小さなみだしをつけながら、しずかにあの年のイーハトーヴォの五月から十月までを書きつけましょう。

Ⅰ. データの確認

  • なくてもかまいません

1. 横持ちデータ

Code
df_hospital |> 
  skim() |>
  gt()
skim_type skim_variable n_missing complete_rate Date.min Date.max Date.median Date.n_unique factor.ordered factor.n_unique factor.top_counts numeric.mean numeric.sd numeric.p0 numeric.p25 numeric.p50 numeric.p75 numeric.p100 numeric.hist
Date 日付 0 1 2018-04-09 2024-05-31 2021-05-05 2245 NA NA NA NA NA NA NA NA NA NA NA
factor 曜日 0 1 NA NA NA NA FALSE 7 月: 321, 火: 321, 水: 321, 木: 321 NA NA NA NA NA NA NA NA
numeric _id 0 1 NA NA NA NA NA NA NA 1123.0000000 648.2199987 1 562 1123 1684 2245 ▇▇▇▇▇
numeric 土日祝 0 1 NA NA NA NA NA NA NA 0.3265033 0.4690383 0 0 0 1 1 ▇▁▁▁▃
numeric 小児科 0 1 NA NA NA NA NA NA NA 13.3167038 12.0721211 0 7 10 16 144 ▇▁▁▁▁
numeric 内科 0 1 NA NA NA NA NA NA NA 5.1487751 5.0426129 0 2 4 7 43 ▇▁▁▁▁
numeric 0 1 NA NA NA NA NA NA NA 18.4654788 15.4266792 0 9 14 22 176 ▇▁▁▁▁

あのイーハトーヴォのすきとおった風、夏でも底に冷たさをもつ青いそら、うつくしい森で飾られたモリーオ市、郊外のぎらぎらひかる草の波

2. 縦持ちデータ

Code
df_hospital_long |> 
  skim() |> 
  gt()
skim_type skim_variable n_missing complete_rate Date.min Date.max Date.median Date.n_unique factor.ordered factor.n_unique factor.top_counts numeric.mean numeric.sd numeric.p0 numeric.p25 numeric.p50 numeric.p75 numeric.p100 numeric.hist
Date 日付 0 1 2018-04-09 2024-05-31 2021-05-05 2245 NA NA NA NA NA NA NA NA NA NA NA
factor 曜日 0 1 NA NA NA NA FALSE 7 月: 642, 火: 642, 水: 642, 木: 642 NA NA NA NA NA NA NA NA
factor 専門 0 1 NA NA NA NA FALSE 2 内科: 2245, 小児科: 2245 NA NA NA NA NA NA NA NA
numeric 土日祝 0 1 NA NA NA NA NA NA NA 0.3265033 0.468986 0 0 0 1 1 ▇▁▁▁▃
numeric 利用者数 0 1 NA NA NA NA NA NA NA 9.2327394 10.111649 0 3 7 12 144 ▇▁▁▁▁

あのイーハトーヴォのすきとおった風、夏でも底に冷たさをもつ青いそら、うつくしい森で飾られたモリーオ市、郊外のぎらぎらひかる草の波

Ⅱ. 折れ線グラフ

折れ線グラフを作って何を知ろうとしているのかを、一行程度の文章で示す(以下同様)

1. 単純な折れ線グラフ

Code
df_hospital_long |> 
  ggplot(aes(x = 日付, y = 利用者数, color = 専門, group = 専門)) +
  geom_line()

一つ一つの図の解説を一行程度で端的に示す(以下同様)

あのイーハトーヴォのすきとおった風、夏でも底に冷たさをもつ青いそら、うつくしい森で飾られたモリーオ市、郊外のぎらぎらひかる草の波

2. 平滑化(90日平均)した折れ線グラフ

Code
ggplotly(
  df_hospital_long |> 
    filter(!if_any(everything(), is.na)) |>
    arrange(日付) |> 
    group_by(専門) |> 
    mutate(移動平均 = rollmean(利用者数, k = 90, fill = NA, align = "right")) |> 
    ggplot(aes(x = 日付, y = 移動平均, color = 専門, group = 専門)) +
    geom_line()
)

あのイーハトーヴォのすきとおった風、夏でも底に冷たさをもつ青いそら、うつくしい森で飾られたモリーオ市、郊外のぎらぎらひかる草の波

Ⅲ. 棒グラフ

  • 棒グラフを作って何を知ろうとしているのかを文章で示す

1. シンプルな棒グラフ

Code
ggplotly(
  df_hospital_long |> 
    group_by(曜日) |> 
    summarise(
      利用者数_曜日 = sum(利用者数)
    ) |> 
    ggplot(aes(x = 曜日, y = 利用者数_曜日)) +
    geom_bar(stat = "identity")
)

あのイーハトーヴォのすきとおった風、夏でも底に冷たさをもつ青いそら、うつくしい森で飾られたモリーオ市、郊外のぎらぎらひかる草の波

2. 専門で色分けした棒グラフ

Code
ggplotly(
  df_hospital_long |>  
    group_by(曜日, 専門) |> 
    summarise(
      利用者数_曜日 = sum(利用者数)
    ) |> 
    ggplot(aes(x = 曜日, y = 利用者数_曜日, fill = 専門)) +
    geom_bar(stat = "identity")
)

あのイーハトーヴォのすきとおった風、夏でも底に冷たさをもつ青いそら、うつくしい森で飾られたモリーオ市、郊外のぎらぎらひかる草の波

Code
ggplotly(
  df_hospital_long |> 
    mutate(
= month(日付),
= factor()
    ) |> 
    group_by(, 専門) |> 
    mutate(
      利用者数_月 = sum(利用者数)
    ) |> 
    ggplot(aes(x = , y = 利用者数_月, fill = 専門)) +
    geom_bar(stat = "identity")
)

あのイーハトーヴォのすきとおった風、夏でも底に冷たさをもつ青いそら、うつくしい森で飾られたモリーオ市、郊外のぎらぎらひかる草の波

Ⅳ. 横持ちデータの活用

1. 散布図:利用者数

  • 内科 vs. 小児科
Code
df_hospital |> 
  ggplot(aes(内科, 小児科, color = factor(土日祝))) +
  geom_point() +
  scale_color_manual(values = c("blue", "red"), labels = c("平日", "土日祝")) +
  stat_cor(method = "pearson",
           label.x = 1,
           label.y = 140,
           color = "black") +
  labs(color = "")

あのイーハトーヴォのすきとおった風、夏でも底に冷たさをもつ青いそら、うつくしい森で飾られたモリーオ市、郊外のぎらぎらひかる草の波

ggplotly() は stat_cor()の出力を正しく処理できない場合があるため、上記の図では意図的にplotlyを使っていません

結論

冒頭で示した問題関心やレポートの目的に対する結果、あるいは、作成した複数の図を通してわかったことをあらためて文章で説明して下さい

あのイーハトーヴォのすきとおった風、夏でも底に冷たさをもつ青いそら、うつくしい森で飾られたモリーオ市、郊外のぎらぎらひかる草の波。またそのなかでいっしょになったたくさんのひとたち、ファゼーロとロザーロ、羊飼のミーロや、顔の赤いこどもたち、地主のテーモ、山猫博士のボーガント・デストゥパーゴなど、いまこの暗い巨きな石の建物のなかで考えていると、みんなむかし風のなつかしい青い幻燈のように思われます。では、わたくしはいつかの小さなみだしをつけながら、しずかにあの年のイーハトーヴォの五月から十月までを書きつけましょう。