の続きです。今回も引き続き、dplyrパッケージを利用してデータ操作の練習をしてみます。
まずは、CSVファイルにあるデータをread.csv関数で呼び出し、summary関数で基本統計量を算出します。
tidyverseパッケージを呼び出します。
前回のブログでは、summarize関数、filter関数、arrange関数、select関数を使ってみましたので、今回はmutate関数を使ってみたいと思います。
mutate関数は既存の列に関数を適用して新しい列を追加します。
まずは「行政職第1」と「行政職第2」を合計して「行政職合計」を追加してみましょう。
data_sub1 という作業用のデータフレームを作成し、select関数で作業に必要な「行政職第1」と「行政職第2」だけをこのdata_sub1に格納し、mutate関数で「行政職合計」という列を作成し、head関数ではじめの6行を表示しました。
%>%はパイプと呼びます。「そして」というような意味で使うらしいです。まだ詳しく勉強していないのでわかりません。
このdata_sub1のデータフレームでは、1行目が男性で2行目が女性の人数でした。この男性と女性を合計した値を作成できないでしょうか?lead関数もしくはlag関数でチャレンジしてみます。
2行目、4行目、6行目、8行目が男女合計ですね。奇数の列はいらないんですよね。。
無理やりですが、それぞれの値をNAに置き換えました。
男女合計ができましたから、「女性比率」を作成しましょう。
round関数を使って小数点以下2桁にしていますが、女性比率は19.71%、18.72%、19.37%、20.07%と年々上昇していますね。平成27年の17.91%と30年の20.07%が統計的に有意な差があるのかどうか検定してみます。
クロス表を作成します。matrix関数で直接値を入力して作成します。
prop.table関数で比率を計算します。
それでは、この男女の比率の違いが統計的に有意なものかどうかカイ自乗検定で検定します。
p-value < 2.2e-16 < 0.05 ですから男女比の違いは統計的に有意だということですね。国家公務員の行政職は意識的に女性を増やそうとしているのかな?