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

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

日銀の短観データの分析6 - R言語で棒グラフと1標準誤差、信頼区間を表示する。

 

www.crosshyou.info

 の続きです。

今回は棒グラフと信頼区間を表示してみたいと思います。

 

Statistics: An Introduction Using R

Statistics: An Introduction Using R

 

 を参考図書にしてやってみます。

まず、Sector別の短観の平均値をtapply関数とmean関数で計算します。

f:id:cross_hyou:20191014142151j:plain

これをbarplot関数で棒グラフにします。

f:id:cross_hyou:20191014142749j:plain

f:id:cross_hyou:20191014142803j:plain

次に信頼区間を表示する関数を作成します。これがMichael J. Crawleyの本からの関数です。

f:id:cross_hyou:20191014143403j:plain

上の関数でyが棒グラフの部分です。これは今回はsectorbetsuです。zが信頼区間の大きさです。今回は、1standard errorを使います。

aov関数とsummary関数で1standard errorを確認します。

f:id:cross_hyou:20191014143953j:plain

このANOVA表から127がpooled error varianceだとわかります。

こんどは、Sectorがそれぞれ何個あるかをtable関数で確認します。

f:id:cross_hyou:20191014144427j:plain

製造業は228、全産業は12、非製造業は156です。なので、それぞれの1standard errorは、

f:id:cross_hyou:20191014144806j:plain

この3つの値が1standard errorになります。

これで、1標準誤差の表示ができます。

f:id:cross_hyou:20191014145244j:plain

f:id:cross_hyou:20191014145255j:plain

あれれ?三つの標準誤差の線がそれぞれの棒に表示されてしまいまたね。。

あの関数はすべての棒グラフで同じデータ数でないとだめなんですね。

あの関数を改良します。

f:id:cross_hyou:20191014150720j:plain

zもz[i]としないといけなかったですね。

これやってみましょう。

f:id:cross_hyou:20191014151055j:plain

f:id:cross_hyou:20191014151029j:plain

できました!

ちなみに関数をつかわないでarrows関数でひとつひとつ追加するのはこちらです。

f:id:cross_hyou:20191014151413j:plain

f:id:cross_hyou:20191014151427j:plain

1標準誤差をグラフに表示できましたので、今度は95%の信頼区間を表示してみましょう。

まずは、製造業、全産業、非製造業のそれぞれの信頼区間を計算します。

f:id:cross_hyou:20191014152027j:plain

このciをerror_bars2関数に使います。

f:id:cross_hyou:20191014152729j:plain

f:id:cross_hyou:20191014152748j:plain

こうしてグラフで95%信頼区間を表示すると、製造業と全産業、全産業と非製造業には違いは無いかもしれませんが、製造業と非製造業には明らかな違いがあることがわかります。
今回は以上です。