www.crosshyou.info

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

都道府県別の「医療費の動向」調査のデータ分析5 - R言語のarrange関数で並び替えをする。

 

www.crosshyou.info

 今回はR言語のarrange関数で各変数を大きい順、小さい順に並び替えてみます。

まずは、total: 総計からです。

f:id:cross_hyou:20201115163944p:plain

医療費の総計が前年比で一番下がったのは2016年度の香川県で、-2.2%でした。

一番伸びたのはどこでしょうか?

f:id:cross_hyou:20201115164107p:plain

2015年度の千葉県が5.0%で一番の伸びでした。

 

medical_total: 医科_計を並び替えてみます。

f:id:cross_hyou:20201115164302p:plain

2016年度の高知県が-1.7%で一番減少しました。

反対に一番上昇したのはどこでしょうか?

f:id:cross_hyou:20201115164420p:plain

2015年度の千葉県と2015年度の東京都と2015年度の奈良県が3.8%の伸びで一番でした。

 

medical_in: 医科_入院はどうでしょうか?

f:id:cross_hyou:20201115164837p:plain

2016年度の熊本県が-1.0%で一番減少しました。2017年度の奈良県が4.3%で一番上昇しました。

 

medical_out: 医科_入院外はどうでしょうか?

f:id:cross_hyou:20201115165237p:plain

2016年度の高知県が-3.6%で一番の減少です。2015年度の山梨県が4.7%で一番の上昇です。

 

dental: 歯科はどうでしょうか?

f:id:cross_hyou:20201115165548p:plain

2017年度の島根県と2016年度の岩手県が-1.3%で一番減少しました。2017年度の熊本県が3.4%で一番上昇しました。

 

pharma: 調剤のランキングを見ます。

f:id:cross_hyou:20201115182733p:plain

2016年度の佐賀県が-8.0%で一番の低下でした。2015年度の和歌山県が22.1%で一番の伸びでした。

 

visit: 訪問看護療養のランキングです。

f:id:cross_hyou:20201115183126p:plain

2015年度の山梨県が3.0%で一番低い伸び率です。

2015年度の石川県が33.4%で一番高い伸び率です。

 

最後はmedical_out_pharma: 医科_入院外+調剤です。

f:id:cross_hyou:20201115200520p:plain

2016年度の広島県が-4.2%で一番低下しました。2015年度の佐賀県が6.6%で一番上昇しました。

今回は以上です。

 

都道府県別の「医療費の動向」調査のデータ分析4 - R言語のlm関数で回帰分析をする。

 

www.crosshyou.info

の続きです。

今回はR言語のlm関数で回帰分析をしてみます。

2017年の医療費の伸びを2016年と2015年の伸びで回帰分析します。

まず、df_totalの列名が2015年度、2016年度、2017年度と数字がはじめの文字になっているのをrename関数で変更しておきます。

f:id:cross_hyou:20201115085454p:plain

f:id:cross_hyou:20201115085548p:plain

lm関数で回帰分析モデルを作成します。

f:id:cross_hyou:20201115085740p:plain

p-valueは2.44e-08で有意なモデルです。Y2015, Y2016のp値も0.05以下なので有意です。

2017年度の伸び率 = 0.8088 + 0.4122 * 2015年度の伸び率 + 0.4130 * 2016年度の伸び率

というモデル式です。

モデルから得られる予測値と、実際の値の散布図を描いてみます。

f:id:cross_hyou:20201115091931p:plain

まず、pというggplotオブジェクトを作りました。このpにいろいろ加えます。

f:id:cross_hyou:20201115091517p:plain

f:id:cross_hyou:20201115091538p:plain

埼玉県や千葉県は伸び率が高く、秋田県や岩手県、福島県は伸び率が低いですね。

地域区分で色分けした散布図を描いてみます。

f:id:cross_hyou:20201115092127p:plain

f:id:cross_hyou:20201115092140p:plain

東日本と西日本で分類してみます。

f:id:cross_hyou:20201115092435p:plain

f:id:cross_hyou:20201115092455p:plain

東日本と西日本で明確な違いはなさそうです。

日本海側と太平洋側とその他ではどうでしょうか?

f:id:cross_hyou:20201115092732p:plain

f:id:cross_hyou:20201115092748p:plain

これも明確な違いはなさそうです。

今回は以上です。













 

都道府県別の「医療費の動向」調査のデータ分析3 - R言語のGGallyパッケージのggpairs関数で散布図マトリックスを作成。

 

www.crosshyou.info

 の続きです。

2015年度、2016年度、2017年度でtotal: 総計の分布が違っていることがわかりました。

それぞれ年度の平均値や標準偏差、変動係数を計算してみます。

group_by関数を使い、年度でグループ分けをしてからmean関数やsd関数を使います。

f:id:cross_hyou:20201114111009p:plain

2015年度は平均で3.49%の伸び、2016年度は平均で-0.794%の減少、2017年度は平均で1.91%の伸びでした。

それぞれの年度のデータの相関関係を調べましょう。

まず、spread関数で各年度ごとデータを変数にしたデータフレームを作ります。

f:id:cross_hyou:20201114111450p:plain

select関数で必要な変数だけにしました。

spread関数で各年度ごとのデータを変数にします。このspread関数がいまだによくわかりません。自分なりにまとめると、

key = が新しく列となる要素が入っている変数、今回は、2015年度、2016年度、2017年度という列を作りたいのですから、これらが格納されているyearをkeyにします。

value = が新しく列となるところに格納するデータの変数です。今回は2015年度の総計、2016年度の総計、2017年度の総計、とtotalを格納しますからvalue = totalとします。

相関係数を調べるのと散布図マトリックスを作図するのを同時にやろうと思いますので、GGallyパッケージを読み込みます。

f:id:cross_hyou:20201114112108p:plain

GGallyパッケージの中のggpairs関数で散布図マトリックスと相関係数を同時に作成します。

f:id:cross_hyou:20201114112402p:plain

f:id:cross_hyou:20201114112418p:plain

それぞれの年度どうしの相関は0.6前後で正の相関ですね。

つまり、前年の伸びが大きい都道府県は翌年も伸びが大きい傾向があり、伸びが小さい都道府県は翌年も伸びが小さいという傾向があるということですね。

今回は以上です。

 

都道府県別の「医療費の動向」調査のデータ分析2 - R言語のgeom_histogram関数とfacet_grid関数でヒストグラムを描く。

 

www.crosshyou.info

 の続きです。

今回は読み込んだデータがどんなものか、おおまかに確認しましょう。

summary関数を使ってみます。

f:id:cross_hyou:20201113092658p:plain

yearを見ると、このデータは、2015年度、2016年度、2017年度の3年間分のデータがあることがわかります。

各変数の平均値を見ると、visit: 訪問看護療養が飛びぬけて高い値であることがわかります。

とりあえず、total: 総計 についてもう少し詳しくみてみましょう。

まずは、geom_histogram関数でヒストグラムを描いてみます。

f:id:cross_hyou:20201113093829p:plain

f:id:cross_hyou:20201113093846p:plain

山の頂上が2つあるような分布ですね。

年度によって違いがあるかもしれません、facet_grid関数を付け足して、年度ごとのヒストグラムを作成します。

f:id:cross_hyou:20201113094223p:plain

f:id:cross_hyou:20201113094239p:plain

年度によっての違いがはっきりしていますね。

東日本・西日本の違いはあるでしょうか?

f:id:cross_hyou:20201113094655p:plain

f:id:cross_hyou:20201113094719p:plain

東日本と西日本では明確な違いはなさそうです。

 

日本海側と太平洋側とその他の違いはあるでしょうか?

f:id:cross_hyou:20201113095025p:plain

日本海側と太平洋側とその他では、明確な違いはなさそうです。

今回は以上です。








 

都道府県別の「医療費の動向」調査のデータ分析1 - R言語にデータを読み込む。

今回から都道府県別の「医療費動向」調査のデータを分析しようと思います。

政府統計の総合窓口(www.e-stat.go.jp)のサイトに新着データとして掲載されていました。

f:id:cross_hyou:20201112201745p:plain

f:id:cross_hyou:20201112201834p:plain

データベースのほうをクリックしました。

f:id:cross_hyou:20201112201937p:plain

月次のほうをクリックしました。

f:id:cross_hyou:20201112202100p:plain

都道府県別の医療費総額の伸び率(対前年同期比)のデータを取得します。DBのほうをクリックします。

f:id:cross_hyou:20201112202218p:plain

こんな感じです。ファイルをダウンロードします。

f:id:cross_hyou:20201112202343p:plain

こういうCSVファイルです。

青く囲った部分は私が挿入した変数名です。

それではR言語のread.csv関数で読み込みましょう。

f:id:cross_hyou:20201112203404p:plain

あとで使うので、tidyverseパッケージを読み込んでおきます。

f:id:cross_hyou:20201112203438p:plain

skip = 10 で11行目から読み込むように指示しています。

na.strings = c("***","-")で***と-はNAとして処理するように指示しています。

encoding = "UTF-8"でencodingをUTF-8と指示しています。

str関数でうまく読み込めたか確認します。

f:id:cross_hyou:20201112203625p:plain

ignoreはいらないので削除するのと、yearを文字列型からファクター型に変換しましょう。

f:id:cross_hyou:20201112204021p:plain

またstr関数で確認します。

f:id:cross_hyou:20201112204219p:plain

Factorになっています。

もう一つ、関東とか近畿などの地域区分のファイルも読み込みます。

f:id:cross_hyou:20201112204511p:plain

1番目の変数名がおかしいので、prefに訂正します。

f:id:cross_hyou:20201112204649p:plain

inner_join関数でdfとchiikiを結合します。

f:id:cross_hyou:20201112204911p:plain

うまく結合できました。

region, eastwest, japanpacificをファクター型に変換しましょう。

mutate関数とas.factor関数を使います。

f:id:cross_hyou:20201112205208p:plain

str関数で確認します。

f:id:cross_hyou:20201112205347p:plain

ファクター型に変換されています。

これで、分析のためのデータフレーム、dfが完成しました。

今回は以上です。

 

都道府県別の空き家・持ち家・借家数のデータ分析8 - R言語で年ごとの箱ひげ図の推移を作成。geom_boxplot関数

 

www.crosshyou.info

 の続きです。

今回は、geom_boxplot関数を使って、年ごとのデータの推移を箱ひげ図で表現してみました。

まずは、空き家率からです。

f:id:cross_hyou:20201112144146p:plain

f:id:cross_hyou:20201112144201p:plain

x = as.factor(year)としてyearをファクター型に変換しています。

空き家率は年ごとに上昇しているのがよくわかります。

 

次は、持ち家率です。

f:id:cross_hyou:20201112144424p:plain

f:id:cross_hyou:20201112144506p:plain

持ち家率は年をおうごとに低下しています。

 

最後は、借家率です。

f:id:cross_hyou:20201112144733p:plain

f:id:cross_hyou:20201112144746p:plain

借家率は横ばいでしょうか?バラツキがだんだん小さくなっているようです。

 

今回は以上です。

 

都道府県別の空き家・持ち家・借家数のデータ分析7 - R言語でロジスティクス回帰分析。glm関数

 

www.crosshyou.info

の続きです。

今回は、R言語のglm関数でロジスティクス回帰分析をしてみます。

前回作成した 、九州沖縄地方か、そうでないかという変数、kyushu_okinawaをresponse variableにして、空き家率、持ち家率、借家率をexplanatory variableにしてみます。

f:id:cross_hyou:20201112093519p:plain

はじめに、as.numeric関数でkyushu_okinawaをNoなら0, Yesなら1を取る数値型に変換しました。

次にglm関数でロジスティクス回帰分析をします。

f:id:cross_hyou:20201112094200p:plain


own_ratio_2018だけが有意な説明変数ですね。

一番 Pr(>|z|)の値の大きいempty_ratio_2018を削除してみます。update関数を使います。

f:id:cross_hyou:20201112094617p:plain

empty_ratio_1978を削除してみます。

f:id:cross_hyou:20201112094827p:plain

Intercept, own_ratio_1978, own_ratio_2018の3つでPr(>|z|)が0.05以下になりました。

predict関数でこのglm_mdel3を使って予測してみます。

f:id:cross_hyou:20201112095132p:plain

さらにround関数で0か1に変換します。

f:id:cross_hyou:20201112095337p:plain

table関数で本当の分類と比較してみます。

f:id:cross_hyou:20201112095516p:plain

実際は0(九州沖縄ではない)でyosokuも0だったのが37、実際は1(九州沖縄)でyosokuも1だったのが4でした。

正解率は、(37+4)/47 = 87%でした。九州沖縄は福岡県、大分県、佐賀県、長崎県、熊本県、宮崎県、鹿児島県、沖縄県の8県ですから、全部九州沖縄では無いと予測すると正解率は(47-8)/47 = 83%です。4%だけglm_model3のほうが正確になったのですね。

もう少し正解率を上げたいですね。japanpacific, 日本海側と太平洋側とその他の地域という変数を加えてみましょう。

f:id:cross_hyou:20201112100427p:plain

japanpacificは意味が無いようですね。

せっかくなので、predict関数で予測してtable関数で実際と比較してみましょう。

f:id:cross_hyou:20201112100723p:plain

正解率は (38+4)/47 = 89%です。

最後にown_ratioの散布図を作って、九州沖縄とそれ以外で色分けしてみます。

f:id:cross_hyou:20201112101330p:plain

f:id:cross_hyou:20201112101342p:plain

九州沖縄の都道府県は全体的に2018年の持ち家率が低いですね。

今回は以上です。