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

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

海外在留邦人数統計調査のデータ分析2 - データフレームの形をつくりかえてANOVAやANCOVAをする。

 

www.crosshyou.info

 の続きです。

前回作成したデータフレームは、

head関数

となっていて、平成30年の人数、平成30年の前年比、平成29年の人数、平成29年の前年比と同じ人数のデータ、前年比のデータなのに別々の列になっていました。

これだと分析がやりにくいので、データフレームの形をつくりかえます。

データフレームの作り替え

このように、data.frame関数で各年だけのデータフレームを作りました。rep関数で年を作っています。

こうして作ったデータフレームたちをrbind関数で結合します。

rbind関数で複数のデータフレームを一つに統合

str関数で構造を確認します。

str関数でデータの構造を確認

うまくできました。

summary関数で各変数のサマリーを見ます。

summary関数

こちらのほうがスッキリしています。

Yearごとの平均値を見たい場合はtapply関数を使います。

tapply関数

このように簡単に各年ごとの平均値がわかります。

年によって平均値に違いがあるかどうかをaov関数でANOVA分析してみます。

aov関数とsummary.lm関数

p-valueは0.9997なので年によっての違いはありません。ただしこれは国を考慮に入れていない場合です。

国も説明変数に入れてみます。

年と国を説明変数にしてANOVA

年ごとに有意な違いがあります。

国については省略して、モデルのp-valueのところを見ます。

モデルのp-value

p-value < 2.2e-16と0.05よりも小さいので有意なモデルです。

年をnumericのままにして、ANCOVA分析をします。

年を数値、国をファクターにしてANCOVA

年は5.67e-07なので有意です。毎年1005人ずつ増えているようです。

ChgもYearを数値、CountryをファクターにしてANCOVA分析をしてみます。

ANCOVA分析

前年比は年によっての違いはないようです。

今回は以上です。