www.crosshyou.info

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

花き産業振興総合調査の分析2 - 2016年のデータで並び替え(order関数, names関数)

今回は、花き産業振興総合調査のデータを使って、2016年のデータを並び替えたいと思います。まずは、read.csv関数を使ってデータを読込みます。読込んだデータをsummary関数をつかって要約を表示します。

f:id:cross_hyou:20180803114758j:plain

このデータセットは、2009年から2016年まで、8年分のデータがあります。

とりあえず、2016年だけのデータセットを作ります。

花き2016 <- 花きデータ[花きデータ$年==2016, ] とします。

f:id:cross_hyou:20180803115318j:plain

花きの種類は、ツツジ、サツキ、カイヅカイブキ、タマイブキ、ツバキ、モミジ、ヒバ類、ツゲ類の8種類あることがわかります。カイヅカイブキ、タマイブキって何でしょうね。ネットで検索したら、普段よく見かける木でした。

カイヅカイブキ(貝塚息吹) - 庭木図鑑 植木ペディア

タマイブキ(緑化樹木カード図鑑)

それでは、作付面積で並び替えてみます。order関数です。

f:id:cross_hyou:20180803121011j:plain

ツツジが作付面積1位ですね。タマイブキが一番少なくて、4haしかありません。東京ドームよりも狭いです。

出荷数量で並び替えてみます。

f:id:cross_hyou:20180803121409j:plain

サツキが出荷数量は1番です。641万2千本です。

出荷額で並び替えます。

f:id:cross_hyou:20180803121743j:plain

 

ヒバ類が出荷額ではトップです。19億9400万円です。

栽培農家数で並び替えます。

f:id:cross_hyou:20180803122354j:plain

ツツジが栽培農家数は1位ですね。1067戸です。

ここでちょっと計算をして、農家1戸当出荷額を計算してみましょう。

出荷額 * 百万円 / 農家数 ですね。

f:id:cross_hyou:20180803123100j:plain

計算はできましたが、どの値がどの種類かわからないですね。この計算結果の並びは、花き2016の並びと同じです。つまり、

f:id:cross_hyou:20180803123512j:plain

この順番、ツツジ、サツキ、カイヅカイブキ、、、の順番です。

names関数を使って「農家1戸当出荷額」の各数値に名前を付与します。

f:id:cross_hyou:20180803124033j:plain

このように、ツツジは97万4695円、サツキは97万6767円、カイヅカイブキは94万1810円、タマイブキは9万8361円、ツバキは58万6777円、モミジは136万8839円、ヒバ類は442万1286円、ツゲ類は89万6277円とわかります。

ヒバ類の442万1286円が突出して金額が大きく、その反対にタマイブキの9万8361円は突出して金額が小さいことがわかりますね。

 

 

 

花き産業振興総合調査の分析1 - 基本統計量(summary関数, apply関数とsd関数/mean関数/median関数/min関数/max関数)

e-Stat(政府統計の総合窓口)のサイトに新しいデータがアップされていました。

f:id:cross_hyou:20180802204651j:plain

花き産業振興須郷調査というデータです。どんなデータでしょうか?クリックしてみました。

f:id:cross_hyou:20180802204738j:plain

花木類、芝、地被植物類の品目別作付面積、出荷数量、出荷額、栽培農家数のデータのようです。

クリックしてみました。

f:id:cross_hyou:20180802204929j:plain

年次のデータですね。平成28年のデータをクリックしました。

f:id:cross_hyou:20180802205007j:plain

複数のファイルがあるようです。この中の平成28年花木生産状況のファイルを開いてみます。

f:id:cross_hyou:20180802205102j:plain

こういうデータでした。平成21年(2009年)から同様のファイルがありましたので、以下のようにデータをcsvファイルにまとめてみました。

f:id:cross_hyou:20180802205331j:plain

作付面積の単位は、ha

出荷数量の単位は、千本または千鉢

出荷額の単位は、百万円

栽培農家数の単位は、戸

です。なので一番上の行、ツツジの2009年の生産状況は、作付面積は447ha、出荷数量は9,479,000本、出荷額は1,632,000,000円(16億3200万円)、栽培農家は2092戸、ということです。

このデータをR言語で分析してみましょう。read.csv関数で読込み、summary関数でデータを要約してみます。

f:id:cross_hyou:20180802210254j:plain

作付面積の最小は、4haです。

東京ドーム (単位) - Wikipedia

f:id:cross_hyou:20180802210704j:plain

によると、東京ドームの面積(グランドより外周の部分も含む)が4.7haだそうですので、最小面積の4haは東京ドームよりも狭いっていうことですね。

さて、summary関数は最小値、第1分位値、中央値、平均値、第3分位値、最大値を表示します。標準偏差は表示しないので、apply関数とsd関数を使って標準偏差を計算しましょう。

f:id:cross_hyou:20180802211414j:plain

同じようにapply関数とlength関数でデータの数を出してみます。

f:id:cross_hyou:20180802211624j:plain

apply関数とmean関数で各データの平均値を出してみます。

f:id:cross_hyou:20180802211823j:plain

summary関数で算出した平均値と同じですね。

apply関数とmedian関数で中央値を出します。

f:id:cross_hyou:20180802212512j:plain

apply関数とmin関数で最小値を出します。

f:id:cross_hyou:20180802212547j:plain

apply関数とmax関数で最大値を出します。

f:id:cross_hyou:20180802212614j:plain

apply関数とsum関数で合計値を出します。

f:id:cross_hyou:20180802212649j:plain

以上、花き産業振興総合調査の中の生産状況の基本的なデータでした。

 

 

医療給付実態調査の分析5 - 2016年と2011年を年齢別に比較する。(tapply関数, prop.test関数)

今回は医療給付実態調査のデータで、2011年のデータと2016年のデータを比較して各データ項目が増えているか、減っているかを調べてみましょう。

csvファイルに保存してあるデータを、R言語のread.csv関数で読込み、summary関数でデータを要約します。

f:id:cross_hyou:20180802120002j:plain

2011年だけのsummaryを見てみましょう。iryou[iryou$年度 == 2011, ] とすると、2011年だけのデータフレームになりますので、これにsummary関数を適用します。

f:id:cross_hyou:20180802120426j:plain

同じように、2016年だけのデータは、iryou[iryou$年度 == 2016, ]とします。これにsummary関数を適用すると、

f:id:cross_hyou:20180802120615j:plain

となります。

平均値と中央値に注目してみると、

一人当入院医療費は、
平均値:6,2094円(2011年) vs. 6,6321円(2016年)
中央値:3,6590円(2011年) vs. 3,8439円(2016年)

百人当推計新規入院件数は、
平均値:7.722件(2011年) vs. 7.937件(2016年)
中央値:5.600件(2011年) vs. 5.950件(2016年)

推計平均在院日数は、
平均値:21.05日(2011年) vs. 19.50日(2016年)
中央値:16.88日(2011年) vs. 14.76日(2016年)

入院1日当医療費は、
平均値:3,9912円(2011年) vs. 4,5667円(2016年)
中央値:4,0738円(2011年) vs. 4,7536円(2016年)

推計1入院当医療費は、
平均値:74,2207円(2011年) vs. 77,4878円(2016年)
中央値:66,5131円(2011年) vs. 70,5995円(2016年)

となっています。2011年と比較すると、2016年は医療費と件数は増加し、在院日数は短縮したことがわかります。

この傾向は各年齢別に詳しくみたときでもそうでしょうか?

確認してみましょう。

まずは、一人当入院医療費です。2011年の年齢別の平均値は、iryou[iryou$年度 == 2011, ]に対してtapply関数とmean関数を適用します。

f:id:cross_hyou:20180802123203j:plain

まず、2011年だけのデータを、iryou2011という名前で保存し、2016年だけのデータをiryou2016という名前で保存します。

tapply関数でそれぞれの年齢別の平均値を作成しましょう。

f:id:cross_hyou:20180802124545j:plain

こうして、各年度の平均値を作成しました。

一人当入院医療費2016 - 一人当入院医療費2011 とすれば各年齢ごとの差額がでます。

f:id:cross_hyou:20180802124945j:plain

round関数で小数点以下を省略しています。こうしてみると、差額がマイナスの年齢はありません。すべての年齢層で一人当入院医療費は増額しています。

百人当推計新規入院件数はどうでしょうか?おなじようにやってみます。

f:id:cross_hyou:20180802192222j:plain

25歳から29歳と65歳から69歳は件数が減っています。20歳から24歳は変わらずで、残りの12の年齢帯体は増加しています。12増2減1不変です。符号検定をしてみましょう。14の年齢帯のうち12が増です。porp.test関数を使います。

f:id:cross_hyou:20180802193151j:plain

p-value = 0.01616 < 0.05 ですから、2016年の百人当推計新規入院件数は2011年に比べて増加していると言えます。その中で、25歳から29歳、65歳から69歳は件数が減っているのは注目です。

次は、推計平均在院日数を調べます。

f:id:cross_hyou:20180802193606j:plain

すべての年齢帯で、日数が短くなっています。

こんどは、入院1日当医療費を調べましょう。

f:id:cross_hyou:20180802193852j:plain

すべての年齢帯で2016年の医療費が増額しています。

最後は、推計1入院当医療費です。

f:id:cross_hyou:20180802194223j:plain

すべての年齢帯で医療費が増額しています。

年齢帯別に2011年と2016年を比較すると、医療費は増額、在院日数は短縮という傾向であることがわかりました。

 

 

 

 

医療給付実態調査の分析4 - 制度別の平均値をグラフにする。(tapply関数とmean関数, barplot関数)

今回は、医療給付実態調査のデータを医療制度別に平均値を出してグラフにします。

まずは、read.csv関数でcsvファイルをR言語に読込み、summary関数でデータの要約をします。

f:id:cross_hyou:20180801132942j:plain

制度は、協会一般、市町村国保、組合健保の3種類です。

まずは、一人当入院医療費です。tapply関数とmean関数の組み合わせです。

f:id:cross_hyou:20180801133528j:plain

このデータをbarplot関数で棒グラフにします。

f:id:cross_hyou:20180801133917j:plain

f:id:cross_hyou:20180801133930j:plain

市町村国保が一番高いですね。

続いて、百人当推計新規入院件数です。

f:id:cross_hyou:20180801134401j:plain

batplot関数でグラフにします。

f:id:cross_hyou:20180801134734j:plain

f:id:cross_hyou:20180801134808j:plain

市町村国保が少しだけ多いです。

こんどは、推計平均在院日数です。

f:id:cross_hyou:20180801135151j:plain

市町村国保が断然長い日数です。グラフにします。

f:id:cross_hyou:20180801135434j:plain

f:id:cross_hyou:20180801135503j:plain

次は、入院1日当医療費の平均値です。

f:id:cross_hyou:20180801135830j:plain

barplot関数でグラフにします。

f:id:cross_hyou:20180801140108j:plain

f:id:cross_hyou:20180801140121j:plain

入院1日当医療費では、組合健保が一番高いですね。

最後は、推計1入院当医療費です。

f:id:cross_hyou:20180801140603j:plain

グラフを作成します。

f:id:cross_hyou:20180801140848j:plain

f:id:cross_hyou:20180801140913j:plain

市町村国保が高いですね。

今回は制度別の平均値を計算しました。市町村国保のグループが医療費が高いことがわかりました。

 

医療給付実態調査の分析3 - 年齢別の平均値をグラフにする。(tapply関数とmean関数, barplot関数)

今回は、医療給付実態調査のデータを使って、年齢別の平均値をグラフにしてみます。まずは、csvファイルに保存してあるデータをread.csv関数でR言語に読込み、summary関数にてデータのサマリーを見てみます。

f:id:cross_hyou:20180731192504j:plain

前回までと違うところが一つあります。それは、年齢の各変数を0歳4歳、5歳9歳としていたのから、a.0歳4歳、b.5歳9歳とはじめの文字をa, b, c, ...としたことです。こうすることによって、年齢がきちんと順番どおりに表示されます。

それでは、tapply関数とmean関数を組み合わせて、年齢別の一人当入院医療費の平均値を出しましょう。

f:id:cross_hyou:20180731193158j:plain

barplot関数でグラフにします。

f:id:cross_hyou:20180731194026j:plain

f:id:cross_hyou:20180731193356j:plain

0歳から4歳までが高く、5歳から9歳まででガクンと減って、それからは年齢とともに上昇しています。

次は、百人当推計新規入院件数です。

f:id:cross_hyou:20180731193729j:plain

barplot関数でグラフにします。

f:id:cross_hyou:20180731194443j:plain

f:id:cross_hyou:20180731194501j:plain

だいたいの形は入院費と同じですが、30歳から34歳のところにコブがあります。

次は、推計平均在院日数です。

f:id:cross_hyou:20180731194745j:plain

グラフはこうなります。

f:id:cross_hyou:20180731195020j:plain

f:id:cross_hyou:20180731195109j:plain

50歳から54歳が一番長い在院日数になっています。

次は、入院1日当医療費です。

f:id:cross_hyou:20180731195529j:plain

グラフはこうなります。

f:id:cross_hyou:20180731195748j:plain

これは20歳から24歳が一番低い凹型ですね。

最後は、推計1入院当医療費です。

f:id:cross_hyou:20180731200235j:plain

グラフです。

f:id:cross_hyou:20180731200502j:plain

f:id:cross_hyou:20180731200521j:plain

子どもでは、10歳から14歳が高くなっています。

以上、年齢別のデータの平均値のグラフでした。

 

 

 

医療給付実態調査の分析2 - 年度別の平均値をグラフにする。(tapply関数とmean関数, barplot関数)

今回は、医療給付実態調査のデータをグラフにしてみたいと思います。

まずは、read.csv関数でデータをR言語に読込み、summary関数でデータの要約をしましょう。

f:id:cross_hyou:20180731063711j:plain

このデータは、カテゴリカルデータは年度、年齢、制度の3種類です。

数量データは、一人当入院医療費、百人当推計新規入院件数、推計平均在院日数、入院1日当医療費、推計1入院当医療費の5種類です。

まずは、年度別のデータをグラフにしてみます。年度別の一人当入院医療費の平均値を計算しましょう。tapply関数とmean関数を使います。

f:id:cross_hyou:20180731065033j:plain

こうして年度別の平均値が計算されました。このデータをデータ1という名前で格納しています。この格納したデータに対して、barplot関数で棒グラフを作成します。

f:id:cross_hyou:20180731065234j:plain

main = でグラフのタイトルを設定していて、ylim = でグラフのY軸の範囲を指定しています。そして、作成されたグラフがこちらです。

f:id:cross_hyou:20180731065435j:plain

2016年度がわずかに増加していることがわかります。

同じように、年度別の百人当推計新規入院件数もグラフにしてみましょう。

f:id:cross_hyou:20180731065820j:plain

f:id:cross_hyou:20180731070027j:plain

f:id:cross_hyou:20180731070113j:plain

2016年度が少し増加していますね。

次は、推計平均在院日数です。

f:id:cross_hyou:20180731070420j:plain

barplot関数でグラフにします。

f:id:cross_hyou:20180731070642j:plain

f:id:cross_hyou:20180731070726j:plain

2016年度のほうが日数が短いことがわかります。

次は、入院1日当医療費です。

f:id:cross_hyou:20180731071011j:plain

barplot関数でグラフにしましょう。

f:id:cross_hyou:20180731071351j:plain

f:id:cross_hyou:20180731071405j:plain

2016年度のほうが多いですね。

最後は、推計1入院当医療費です。

f:id:cross_hyou:20180731071855j:plain

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

f:id:cross_hyou:20180731072125j:plain

f:id:cross_hyou:20180731072142j:plain

2016年が増えていますね。

今回の分析では、tapply関数とmean関数で年度別の平均値を計算して、barplot関数でそのデータを棒グラフにしました。

 

医療給付実態調査の分析1 - 基本統計量(summary関数, apply関数とsd関数)

いつものように、e-Stat(政府統計の総合窓口)のサイトを見たら、医療給付実態調査というデータが新着でありました。

f:id:cross_hyou:20180730224646j:plain

どんな調査なのでしょうか?クリックしてみました。

f:id:cross_hyou:20180730224819j:plain

医療保険加入者の受信状況のデータを制度別、年齢別、疾病分類別等様々な切り口から観察したもののようです。

さらにクリックしてみました。

f:id:cross_hyou:20180730225129j:plain

いろいろとEXCELファイルがあるようです。4番の分析表を開いてみました。

f:id:cross_hyou:20180730225326j:plain

こんな感じのファイルでした。この2016年度のデータと2011年度のデータを整理して、下のようなcvsファイルを作成しました。このデータをR言語で分析してみましょう。分析というか、そのまねごとですね。

f:id:cross_hyou:20180730225657j:plain

read.csv関数で読み込み、summary関数を使います。

f:id:cross_hyou:20180730230316j:plain

summary関数では標準偏差は計算されませんので、apply関数とsd関数を使って、標準偏差を計算します。

f:id:cross_hyou:20180730230732j:plain

round関数を使って、小数点2桁までの表示にしています。

このデータフレームは、2011年度と2016年度の2つの年度のデータですから、それぞれの年度別の基本統計量も算出しましょう。

f:id:cross_hyou:20180730231203j:plain

f:id:cross_hyou:20180730231430j:plain

median(中央値)とmean(平均値)を見ると、医療費類や新規入院件数は2016年度のほうが増えていますが、平均在院日数は2016年度のほうが減っていいます。

標準偏差も計算しておきましょう。

f:id:cross_hyou:20180730232015j:plain

f:id:cross_hyou:20180730232242j:plain

今回の分析では、summary関数で最小値、第1分位値、中央値、平均値、第3分位値、最大値を算出し、apply関数とsd関数の組合せで標準偏差を算出しました。

2011年度と2016年度の区別は、iryou[iryou$年度 == 2011, ]、iryou[iryou$年度 == 2018, ]のようにして区別しました。