Week6: 中間レポート1(Rの基礎~R Markdown)
分析準備
データ詳細
PISA(OECD生徒の学習到達度調査)の2022年調査公開データを課題用に教員が加工したもので、変数の概要は次の通り
STUID:学生ID(STUdent ID)学力調査の得点
MATH:数学得点,READ:読解力得点,SCIE:科学得点
日本の生徒質問調査(student questionnaire)のデータ
GENDER:性別(M = Male, 男性; F = Female, 女性)AGE:年齢(月齢も含めて小数点表示)STXXXQYY:個別項目への回答データ(XXXとYYには数字が入る)- 各項目の値の意味などはコードブック(questionnaire_stu_1.pdf)を参照のこと
以下では、学力得点(
MATH,READ, SCIE)と年齢(AGE)を量的変数として扱い、性別(GENDER)と生徒質問調査の個別項目(STXXQYY)を質的変数として扱うこと
データ読み込み
データのサイズ
問題2
問題1で読み込んだデータの行数と列数を確認するスクリプトを書いて実行し、別途、行数(ケース数)と列数(変数の数)を記入しなさい。
データのサイズ:
行数:
列数:
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr 1.1.4 ✔ readr 2.1.5
## ✔ forcats 1.0.0 ✔ stringr 1.5.1
## ✔ ggplot2 3.5.1 ✔ tibble 3.2.1
## ✔ lubridate 1.9.4 ✔ tidyr 1.3.1
## ✔ purrr 1.0.4
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag() masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
## [1] 5760
## [1] 310
単変量の記述統計量と可視化
量的変数の場合
問題3
dfに含まれるの連続変数(MATH,
READ, SCIE,
AGE)のうち、どれか1つについて平均・標準偏差・最小値・最大値を含む記述統計量を求めるスクリプトを書き、実行しなさい。
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 177.0 473.0 540.0 534.9 601.0 812.0
## [1] 90.14884
問題4
dfに含まれるの連続変数(MATH,
READ, SCIE,
AGE)のうち、どれか1つについてヒストグラムを作成するスクリプトを書き、実行しなさい。
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
問題5
問題3で作成した記述統計量や、問題4で作成したヒストグラムをもとに、選んだ変数の分布の特徴を文章で説明しなさい。
【問題5解答欄】 数学得点者は中間層辺りの人が最も多く、最高点や最低点に近づくほど人数が少なくなっている。
質的変数の場合
問題6
質的変数
GENDER(性別)の頻度および相対頻度を求めるスクリプトを書き、実行しなさい。
##
## F M
## 2904 2856
##
## F M
## 0.5041667 0.4958333
問題7
個別項目への回答データ(STXXXQYY)から一つ選び、棒グラフを作成しなさい。
## Warning: Removed 38 rows containing non-finite outside the scale range (`stat_count()`).
## Removed 38 rows containing non-finite outside the scale range (`stat_count()`).
問題8
問題7で作成したグラフ(分布)の説明・解釈を文章で書きなさい。なお、各個別項目の詳細については参考資料(questionnaire_stu_1.pdf)を参照のこと。(以降の問題でも同様)
【問題8解答欄】 スマートフォンを除くインターネットに接続できるデバイスを持っている人は、持っていない人に比べて多い。
二変量の記述統計量と可視化
量的変数×量的変数の場合
問題9
年齢(AGE)と読解得点(READ)の共分散を計算するスクリプトを書き、実行しなさい。
## [1] 1.293028
問題10
年齢(AGE)と読解得点(READ)の相関係数を計算するスクリプトを書き、実行しなさい。
## [1] 0.04887067
問題11
問題9で求めた共分散と問題10で求めた相関係数を比べ、共通点や相違点を文章で説明しなさい。
【問題11解答欄】 共分散は小さく、相関係数は0に近い値となっているため、年齢と読解得点のデータに関連性はないといえる。
量的変数×質的変数の場合
問題12
数学得点(MATH)、読解得点(READ)、科学得点(SCIE)の3変数について、男女別の平均・標準偏差・最小値・最大値を求めるスクリプトを書き、実行しなさい。
## 問題12のスクリプトをここに書く
library(dplyr)
df %>% group_by(GENDER) %>%summarise(MATH_mean=mean(MATH),MATH_sd=sd(MATH),MATH_min=min(MATH),MATH_max=max(MATH),READ_mean=mean(READ),READ_sd=sd(READ),READ_min=min(READ),READ_max=max(READ),scie_mean=mean(SCIE),SCIE_sd=sd(SCIE),SCIE_min=min(SCIE),SCIE_max=max(SCIE))## # A tibble: 2 × 13
## GENDER MATH_mean MATH_sd MATH_min MATH_max READ_mean READ_sd READ_min READ_max
## <chr> <dbl> <dbl> <int> <int> <dbl> <dbl> <int> <int>
## 1 F 530. 83.8 261 812 523. 84.9 211 750
## 2 M 540. 96.0 177 778 507. 95.8 150 753
## # ℹ 4 more variables: scie_mean <dbl>, SCIE_sd <dbl>, SCIE_min <int>,
## # SCIE_max <int>
問題13
数学得点(MATH)、読解得点(READ)、科学得点(SCIE)の3変数について、男女別の箱ひげ図またはバイオリンプロットを作成するスクリプトを書き、実行しなさい。
問題14
問題12で作成した男女別記述統計量や、問題13で作成したグラフをもとに、テスト得点の男女別分布の特徴を文章で説明しなさい。
【問題14解答欄】 男女ともに中間層辺りの人が最も多くなっており、最大値や最小値に近づくにつれて人数が少なくなっている。 ————————————————————————
質的変数×質的変数の場合
問題15
個別項目への回答データ(STXXXQYY)から一つ選び、男女別の相対頻度のクロス表(男性内で総和1、女性内で総和が1になるクロス表)を作成しなさい。
##
## F M
## 1 2762 2723
## 2 127 110
##
## F M
## 1 0.80964110 0.80846406
## 2 0.15904293 0.16636264
## 3 0.03131597 0.02517329
問題16
問題15で作成したクロス表と同等の帯グラフを作成するスクリプトを書き、実行しなさい。
## 問題16のスクリプトをここに書く
df$ST250Q05<-as.factor(df$ST250Q01)
tidyplot(df,y=GENDER,color=ST250Q01) %>% add_barstack_relative()## Warning: The following aesthetics were dropped during statistical transformation: fill.
## ℹ This can happen when ggplot fails to infer the correct grouping structure in
## the data.
## ℹ Did you forget to specify a `group` aesthetic or to convert a numerical
## variable into a factor?
## The following aesthetics were dropped during statistical transformation: fill.
## ℹ This can happen when ggplot fails to infer the correct grouping structure in
## the data.
## ℹ Did you forget to specify a `group` aesthetic or to convert a numerical
## variable into a factor?
問題17
問題15で作成したクロス表と、問題16で作成したグラフをもとに、選んだ個別項目への回答の男女別分布の特徴を文章で説明しなさい。
【問題17解答欄】 スマートフォンを除くインターネットに接続できるデバイスを所持している割合は男女間で大きな差がないことが読み取れる。
多変量データの記述統計量と可視化
問題18
dfに含まれるの量的変数(MATH,
READ, SCIE,
AGE)間の相関係数を相関行列として求めるスクリプトを書き、実行しなさい。
## MATH READ SCIE AGE
## MATH 1.00000000 0.87348139 0.92845696 0.05203015
## READ 0.87348139 1.00000000 0.90854538 0.04887067
## SCIE 0.92845696 0.90854538 1.00000000 0.05570487
## AGE 0.05203015 0.04887067 0.05570487 1.00000000
問題19
dfに含まれるの量的変数(MATH,
READ, SCIE,
AGE)の散布図行列を作成するスクリプトを書き、実行しなさい。
問題20
問題18で求めた相関行列について、問題19で求めた散布図行列を参考にしながら、相関の大きさや向き、変数間の相関のパターンについて、文章で説明しなさい。
【問題20解答欄】
数学得点(MATH)、読解得点(READ)、化学得点(SCIE)はそれぞれ強い正の相関関係にあるが、年齢(AGE)と数学得点、年齢と
読解得点、年齢と化学得点は相関が弱く、相関がないということが読み取れる。