Rで何かをしたり、読書をするブログ

政府統計の総合窓口のデータや、OECDやUCIやのデータを使って、Rの練習をしています。ときどき、読書記録も載せています。

東京都の児童・生徒の体力テスト調査結果のデータの分析1 - CSV ファイルのデータを R に読み込む

Bing Image Creator で生成: Long wide view of Southern Italian coast, photo

今回は、東京都の児童・生徒の体力テストの調査結果のデータを分析してみようと思います。

データは東京都統計年鑑のウェブサイトから取得しました。

https://www.toukei.metro.tokyo.lg.jp/tnenkan/tn-index.htm

ダウンロードした CSV ファイルはこんな感じです。

2022年のファイルと、2009年のファイルをダウンロードしました。2行目に私が変数名を追加しています。

このデータを R に読み込んで、2009年と2022年でどのくらい体力テストの結果が変わったか比べてみようと思います。

まず、tidyverse パッケージを読み込みます。

read_csv() 関数で CSV ファイルを読み込みます。

glimpse() 関数でデータが読み込まれているかを確認します。

2, 4, 6 列目は必要のない列なので、削除します。

この二つのデータフレームを結合します。

このデータフレームはいわゆる横持ち型のデータフレームなので、縦持ち型のデータフレームに変換します。pivot_longer() 関数を使います。

うまくできました。

y7 は7歳児、つまり小学1年生です。

2009年の男児の小学1年生の握力は、9.2kg です。y16, 高校1年生になると 39.2kg に握力が強くなっています。

2022年の男児の握力をみてみましょう。

2022年では、小学1年生の男児の握力は 8.8kg でした。y16, 高校1年生の握力は 36kg です。2022年の児童・生徒のほうが握力は低下しているように見えます。

今回は以上です。

次回は

www.crosshyou.info

です。

 

今回のコードは以下になります。


# tidyverse パッケージを読み込む。
library(tidyverse)
#
# CSVファイルを読み込む
df_2009 <- read_csv("2009_sports_test.csv", skip = 1)
df_2022 <- read_csv("2022_sports_test.csv", skip = 1)
#
# データの確認
glimpse(df_2009)
#
# 不要な列を削除
df_2009b <- df_2009 |> 
  select(-2, -4, -6)
#
df_2022b <- df_2022 |> 
  select(-2, -4, -6)
#
# 二つのデータフレームを結合
df <- rbind(df_2009b, df_2022b)
df
#
# df を縦持ち型に変換
df <- df |> 
  pivot_longer(
    cols = y7:y19b,
    names_to = "grade",
    values_to = "stats"
  )
df
#
# 2022年の男児の握力
df |> 
  filter(year == 2022 & gender == "Male" & type == "Grip strength (kg)")
#