の続きです。
今回はClusteringをしてみます。
まずは、Clusteringのためのマトリックスを作成します。
このマトリックス、matの行名を都道府県にします。
dist関数、hclust関数、plot関数でClusteringします。
山形県と秋田県、宮崎県と熊本県、埼玉県と千葉県が隣同士になったり、大阪府と東京都が隣同士になっているなど、納得感のあるClusteringができました。
今回は以上です。
の続きです。
今回はClusteringをしてみます。
まずは、Clusteringのためのマトリックスを作成します。
このマトリックス、matの行名を都道府県にします。
dist関数、hclust関数、plot関数でClusteringします。
山形県と秋田県、宮崎県と熊本県、埼玉県と千葉県が隣同士になったり、大阪府と東京都が隣同士になっているなど、納得感のあるClusteringができました。
今回は以上です。
の続きです。
今回は、1978年の空き家率で2018年の借家率を回帰分析してみます。
R言語のlm関数を使います。
p-valueが2.664e-13と0.05よりも低いので、有意なモデルです。Intercept、rent_ratio_1978の係数のp値も0.05よりも低いです。
Adjusted R-squaredが0.692です。
このmodel1にeastwest, 東日本と西日本のファクターを加えてみましょう。
eastwestのp値は0.336と0.05よりも大きいので、eastwestを加えても回帰分析モデルの性能はよくならないことがわかりました。Adjusted R-squaredも0.6916とわずかですが低下しています。
それでは、japanpacificを加えてみましょう。
Adjusted R-squaredは0.6959と上昇しましたが、japanpacificのp値は0.05よりも大きいのでmodel1と大差なさそうです。
anova関数でmodel1とmodel2を比較してみましょう。
Pr(>F)が0.2854と0.05よりも大きいです。model1とmodel3は有意な違いがありません。
region、北海道東北、関東、東海などの地域区分を加えてみます。
九州沖縄だけ、Pr(>|t|)が0.05よりも小さいですね。Adjusted R-squaredは0.788になりました。
anova関数でmodel1とmodel4を比較してみます。
Pr(>F)が0.002649と0.05よりも小さいですから、model1とmodel4は有意な違いがあります。そして、model4のほうがAdjusted r-squaredが大きいですから、model4のほうがよさそうです。
model4は九州沖縄という1つの地域だけが特殊な感じです。
そこで、新しい変数、九州沖縄か、それ以外か、という変数を作成して分析してみましょう。
ifelse関数でregionが九州沖縄ならYes, そうでないならNoという変数を作りました。
summary関数で数を数えようとしたら、文字列型なので数えられないです。
as.factor関数でファクター型に変換します。
ファクター型になっているので、summary関数で数をかぞえることができました。
このkyushu_okimwaというファクターをmodel1に加えてみます。
kyushu_okinwaのp値は0.05以下です。Adjusted R-squaredは0.7795とmodel4の0.788よりもいいです。
anova関数でmodel4とmodel5を比較してみます。
Pr(>F)が0.2839と0.05よりも大きいです。つまり、model4とmodel5では有意な違いはありません。なので、より単純な、しかもAdjusted R-squaredも大きいmodel5のほうがいいモデルです。
model5の残差プロットを描いてみます。
model5の式の係数を確認しましょう。
つまり、九州沖縄の県は、
2018年の借家率 = 0.09469473 + 0.56062211 * 1978年の借家率 + 0.04786152
それ以外の都道府県は、
2018年の借家率 = 0.09469473 + 0.56062211 * 1978年の借家率
ということです。
これをグラフで表現してみます。geom_polt関数とgeom_abline関数を使います。
九州沖縄の借家率はその他の地域と比べると0.04785152だけ高いということですね。
今回は以上です。
の続きです。
前回の分析で1978年と2018年の空き家率・持ち家率・借家率のベクトルを作成しました。そして、1978年と2018年では有意に平均値が違うことがわかりました。
なので、今回はこれらのベクトルをまとめて新たなデータフレームを作成してみます。
地域や東日本と西日本、日本海側と太平洋側で違いがあるかどうかを調べたいので、region, eastwest, japanpacificの3つの変数も加えました。
str関数で確認します。
region, eastwest, japanpacificの3つの変数が文字列型なので、as.factor関数でファクター型に変換しましょう。
ファクター型に変換されていることが確認できました。
summary関数でdat2を見てみます。
空き家率の散布図を描いてみます。
まずは東日本と西日本で散布図の傾向に違いがあるかどうかを見てみます。
theme(legend.position = "top")でlegendを上にしました。どうでしょうか?パッと見た感じではよくわからないですね。
日本海側と太平洋側、その他ではどうでしょうか?
う~ん。ちょっとよくわからないですね。
持ち家の散布図を描いてみます。
あんまりかわらない感じですね。
日本海側と太平洋側とその他ではどうでしょうか?
その他の地域がけっこうバラツキがあるような感じです。
借家率の散布図を描いてみます。
日本海側と太平洋側とその他ではどうでしょうか?
日本海側は比較的、借家率が低いようです。
今回は以上です。
の続きです。
今回は経年変化を見てみます。
まず、データの一番新しい年と一番古い年は何年か確認します。
一番古い調査年は1978年、一番新しい調査年は2018年、40年間でどのように変化してるのでしょうか?
空き家率がどう変化したか、見てみます。
ggplot2パッケージのgeom_histogram関数とfacet_grid関数を使います。
上段のヒストグラムが1978年、下段が2018年です。
空き家率が上昇しているのが明らかです。
持ち家率はどうでしょうか?
持ち家率は1978年のほうが高かったようです。
借家率はどうでしょうか?
借家率は1978年は散らばっていたのが、2018年はまとまっている感じですね。
t.test関数で1978年と2018年で有意な違いがあるかどうかを検定します。
まずは、空き家率からです。
上のようにして、1978年の空き家率のベクトルと2018年の空き家率のベクトルを作成しました。
この2つのベクトルをt.test関数で検定します。
p-valueが2.2e-16よりも小さいということは1978年の空き家率と2018年の空き家率には有意な違いがあるということです。95%信頼区間が-0.089から-0.072と0以下です。
空き家率は40年間で有意に上昇したということですね。
持ち家率はどうでしょうか?同じようにt.test関数を使います。
1978年と2018年の持ち家率のベクトルを作成します。arrange(pref)としていますので、都道府県の名前順にデータは並んでいます。
t.test関数で検定をします。
p-valueが1.305e-09と0.05よりも小さいので有意です。95%信頼区間は、0.050から0.0870です。この40年間で持ち家率が有意に低下したということです。
借家率はどうでしょうか?
まず1978年と2018年の借家率のベクトルを作成しました。
t.test関数で検定します。
p-valueは0.002433と0.05よりも小さいので、1978年と2018年では借家率に有意な違いがあるということです。95%信頼区間が0.00857から0.0374なので、2018年の借家率のほうが低いということですね。
つまり、1978年から2018年の40年間で、
空き家率は上昇、持ち家率と借家率は下落したということです。
今回は以上です。
の続きです。
今回は、空き家率・持ち家率・借家率を計算しましょう。
mutate関数を使って新しい変数を作ります。
それぞれの値のサマリーを見てみましょう。
空き家率は最小値は0.04197, 最大値は0.22009, 平均値は0.11302, 中央値は0.10978です。
空き家率が22%の都道府県があるのですね。ちょっと驚きです。どこでしょうか?
filter関数とmax関数を利用して調べましょう。
2013年度の山梨県が空き家率が最高でした。
持ち家は、最小値は0.3482, 最大値が0.7934, 平均値が0.5921, 中央値が0.5955です。
こんどは持ち家率が最低の都道府県を調べましょう。
1993年度の東京都が持ち家率が最低でした。
借家率は最小値は0.1324, 最大値は0.5263, 平均値は0.2753, 中央値は0.2623でした。
yearがYYYY年度となっているので文字列型なので、これを数値型に変換してみましょう。
まず、はじめの4文字、つまり数字部分だけにします。
str_sub関数を使います。"1993年度"の文字列があったとして、1993だけ欲しい場合は、str_sub("1993年度", 1, 4)とします。
次に、as.numeric関数で数値型に変換します。
yearを数値に変換できたので、山梨県の空き家率の時系列のグラフを描いてみます。
1980年は0.10以下だったのに、どんどん空き家率が上昇しています。
東京都の持ち家率もグラフにしてみます。
1993年度が底でそこからは上昇傾向のような感じです。
今回は以上です。
今回は、都道府県別の空き家数、持ち家数、借家数のデータを分析してみようと思います。
政府統計の総合窓口(www.e-stat.go.jp)からデータを取得できます。
ダウンロードしたCSVファイルはこのようなものでした。
9行目に変数名を追加しています。
R言語のread.csv関数でデータを読み込みます。
read.csv関数でデータを読み込んだあと、str関数でデータの確認をしました。無事に読み込まれているようです。
都道府県の地域区分のデータも読み込みます。
read.csv関数でデータを読み込んで、str関数で確認しました。
1番目の変数の名前がおかしくなっています。訂正します。
こうして読み込んだchiiki_kubunのデータをdatに統合します。
tidyverseライブラリーを読み込み、inner_join関数を使います。
inner_join関数でdatとchiiki_kubunを統合します。
うまく結合できました。
na.omit関数でNAの行を削除します。
summary関数でNAが無いことを確認しました。
今回は以上です。
の続きです。
今回は東日本と西日本、日本海側と太平洋側での違いはあるのかどうかを調べてみます。
こういうふうに都道府県を分類したファイルを用意しました。新潟県までは東日本にしました。
また、海の無い件や北海道や兵庫県、福岡県、沖縄県はその他にしました。
このファイルをread_csv関数でR言語に読み込みます。
head関数で表示してみます。
regionは地域です。北海道東北、関東、北陸、東海、近畿、中国、四国、九州沖縄の8つです。
eastwestが東日本と西日本の2つ、japanpacificが日本海側、太平洋側、その他の3つです。
こうして読み込んだbunruiをdata_prefと結合します。inner_join関数を使います。
うまく結合できたか見てみましょう。
うまく結合できているようです。
今回は、total_scoreに焦点を絞ってみましょう。
東日本と西日本で別々に箱ひげ図を描いてみます。
両者に違いがあるとは言えなさそうですね。
日本海側、太平洋側、その他ではどうでしょうか?
日本海側はその他、太平洋側よりもスコアが高いですね。
東日本と西日本でtotal_scoreに違いがあるかどうか検定します。
Statistics: An Introduction Using R (English Edition)
こちらを参考にします。
まず、東日本のトータルスコア、西日本のトータルスコアのベクトルを作ります。
まず、var.test関数でそれぞれのvarianceを比較します。
p-valueが0.1957と0.05よりも大きいので、両者のvarianceに違いがあるとは言えません。なので、平均値をt.test関数で比較できます。
p-valueが0.936と0.05よりも大きいので、両者の平均値(東日本は-0.224, 西日本は-0.088)に有意な違いがあるとは言えません。
結論としては、東日本と西日本ではスポーツテストの成績に有意な違いはあるとは言えないということです。
日本海側、太平洋側、その他では違いがあると言えるでしょうか?3つの地域がありますので、ANOVA分析になります。
aov関数とsummary関数でANOVA分析をします。
Pr(>F)が0.0352と0.05よりも小さいです。つまり、日本海側、太平洋側、その他という3つの地域の違いは、total_scoreに有意な違いをもたらしているということです。
summary関数のかわりにsummary.lm関数で確認します。
InterceptのEstimateの値は-1.5074ですが、これは、その他の都道府県のtotal_scoreの平均値が-1.5074だということです。太平洋側の平均値は-1.5074に0.5109を加えた、-0.9965です。日本海側は、2.9424です。日本海側は、箱ひげ図で見えたように、他の2地域と比べてスポーツテストの成績はいいようですね。
今回は以上です。