# ここにRコード
「ミクロ政治データ分析実習」第14回課題
セットアップ
問題1: {tidyverse}パッケージを読み込む。
問題2: LMSからダウンロードした課題用データ(Micro_HW14.csv
)を読み込み、それぞれraw_df
という名のオブジェクトとして格納し、出力すること。
- データはプロジェクト・フォルダー内に
Data
というフォルダーを作成し、そこにアップロードしておくこと。 read.csv()
関数でなく、read_csv()
関数を使用すること。read.csv()
関数を使用する場合、サンプルページと異なる見た目の結果が出力される。むろん、減点対象である。
# ここにRコード
# A tibble: 84 × 5
Year Month Temperature Icecream Beer
<dbl> <dbl> <dbl> <dbl> <dbl>
1 2016 1 6.1 464 452
2 2016 2 7.2 397 584
3 2016 3 10.1 493 750
4 2016 4 15.4 617 835
5 2016 5 20.2 890 794
6 2016 6 22.4 883 961
7 2016 7 25.4 1292 1025
8 2016 8 27.1 1387 1021
9 2016 9 24.4 843 748
10 2016 10 18.7 621 730
# ℹ 74 more rows
問題3: raw_df
の大きさ(行数と列数)を出力する。
# ここにRコード
[1] 84 5
問題4: raw_df
の変数名(列名)を出力する。
# ここにRコード
[1] "Year" "Month" "Temperature" "Icecream" "Beer"
変数名 | 説明 | 単位 |
---|---|---|
Year |
年(2016〜2022年) | |
Month |
月(1〜12月) | |
Temperature |
東京都の平均気温 | 度 |
Icecream |
アイスクリム消費量 | 円 |
Beer |
アサヒ・スーパードライ出荷数 | 万箱 |
データハンドリング
問題5: raw_df
を使用し、以下のようにデータハンドリングを行う。
Year
変数:Year
変数をfactor化し、要素の順番は2016、2017、2018、…の順とする。Month
変数 (1):Month
の値が3〜5なら"春"
、6〜8なら"夏"
、9〜11なら"秋"
それ以外のケースは"冬"
とし、Season
という名の列として追加する。Season
変数:Season
変数をfactor化し、要素の順番は春、夏、秋、冬とする。Month
変数 (2):Month
変数をfactor化し、要素の順番は1、2、3、…、11、12とする。- 以上の結果を
df
という名のオブジェクトとして作業環境内に格納し、df
を出力する。
出力される変数(列)の順番は以下の例と一致しなくても良い。
# ここにRコード
# A tibble: 84 × 6
Year Month Temperature Icecream Beer Season
<fct> <fct> <dbl> <dbl> <dbl> <fct>
1 2016 1 6.1 464 452 冬
2 2016 2 7.2 397 584 冬
3 2016 3 10.1 493 750 春
4 2016 4 15.4 617 835 春
5 2016 5 20.2 890 794 春
6 2016 6 22.4 883 961 夏
7 2016 7 25.4 1292 1025 夏
8 2016 8 27.1 1387 1021 夏
9 2016 9 24.4 843 748 秋
10 2016 10 18.7 621 730 秋
# ℹ 74 more rows
問題6: df
を使用し、年(Year
)と季節(Season
)ごとに東京都の平均気温(Temperature
)の平均値を計算する。平均値が出力される列名はTemperature
にすること。結果をdf2
という名のオブジェクトとして格納し、df2
を出力する。
- この問題が解けなくても問題7〜12、14は取り組める。
# ここにRコード
# A tibble: 28 × 3
Year Season Temperature
<fct> <fct> <dbl>
1 2016 春 15.2
2 2016 夏 25.0
3 2016 秋 18.2
4 2016 冬 7.4
5 2017 春 14.4
6 2017 夏 25.2
7 2017 秋 17.2
8 2017 冬 6.43
9 2018 春 16.1
10 2018 夏 26.3
# ℹ 18 more rows
可視化
散布図
問題7: アイスクリム消費量(Icecream
)とアサヒ・スーパードライの出荷数(Beer
)の散布図を作成する。ラベルの情報については以下の図と同じようにすること。図が持つ情報が同じであれば、見た目は自由にカスタマイズしても良い。
- 以下の図は点の大きさを3、フォントサイズを12に設定したものであるが、自由にカスタマイズしても良い。
# ここにRコード
問題8: アイスクリム消費量(Icecream
)とアサヒ・スーパードライの出荷数(Beer
)の関係を年度で色分けした散布図を作成する。ラベルの情報については以下の図と同じようにすること。図が持つ情報が同じであれば、見た目は自由にカスタマイズしても良い。
- 以下の図は点の大きさを3、フォントサイズを12に設定したものであるが、自由にカスタマイズしても良い。
# ここにRコード
問題9: アイスクリム消費量(Icecream
)とアサヒ・スーパードライの出荷数(Beer
)の関係を年度ごとにファセット分割した散布図を作成する。ラベルの情報やファセットの構成については以下の図と同じようにすること。図が持つ情報が同じであれば、見た目は自由にカスタマイズしても良い。
- 以下の図は点の大きさを3、フォントサイズを12に設定したものであるが、自由にカスタマイズしても良い。
# ここにRコード
折れ線グラフ
問題10: df
から2022年のケースのみを利用し、以下のような折れ線グラフを作成する。ラベルは以下の図を参照すること。図が持つ情報が同じであれば、見た目は自由にカスタマイズしても良い。
- 以下の図は線の太さを0.75、フォントサイズを12に設定したものであるが、自由にカスタマイズしても良い。
filter()
などでYear
をフィルタリングする場合、2022
でなく、"2022"
のように"
で囲む必要がある。なぜなら、現在、Year
変数はnumeric型でなく、factorであるからだ。
# ここにRコード
問題11: df
からMonth
の値が8のケースのみを利用し、以下のような折れ線グラフと散布図を作成する。つまり、2016年から2022年までの東京都の8月の平均気温を折れ線グラフとして表現し、線の傾きが変わる箇所に点を付ける。ラベルは以下の図を参照すること。図が持つ情報が同じであれば、見た目は自由にカスタマイズしても良い。
- 以下の図は線の太さを0.75、点の大きさを5、フォントサイズを12に設定したものであるが、自由にカスタマイズしても良い。
# ここにRコード
問題12: df
を利用し、以下のような折れ線グラフを作成する。ラベルは以下の図を参照すること。図が持つ情報が同じであれば、見た目は自由にカスタマイズしても良い。
- 以下の図は線の太さを0.75、フォントサイズを12に設定したものであるが、自由にカスタマイズしても良い。
# ここにRコード
問題13: df2
を利用し、以下のような折れ線グラフを作成する。ラベルは以下の図を参照すること。図が持つ情報が同じであれば、見た目は自由にカスタマイズしても良い。
df
でなく、df2
を利用する。- 以下の図は線の太さを0.75、フォントサイズを12に設定したものであるが、自由にカスタマイズしても良い。
# ここにRコード
箱ひげ図
問題14: df
を利用し、以下のような箱ひげ図を作成する。ラベルは以下の図を参照すること。図が持つ情報が同じであれば、見た目は自由にカスタマイズしても良い。
- 以下の図は、箱の幅を0.6、フォントサイズを12に設定したものであるが、自由にカスタマイズしても良い。
# ここにRコード
おまけ
興味のある方は挑戦してみよう。以下の問題は評価の対象ではない(減点・加点なし)。
# ここにRコード