医療統計

度数分布表とヒストグラムってどう使うの?Rで実際にやってみた!

度数分布表とヒストグラムはある集団のデータ(観測値)の特徴をひと目で理解するために作ります。

生のデータは数値の羅列になっていて、ぱっと見ただけでは特徴をつかむことは難しいです。

度数分布表とヒストグラムを作ると、

  • どんなデータ(観測値)が多いのか?
  • 正規分布を前提にデータを扱えるか?
  • 平均値がいいのか?最頻値がいいのか?

などの基本的なことを把握することができます。

つまり、生データを眺めるだけではわからなかったデータの特徴をサクッと知ることができます。

この記事で学べること

今回は生データから、Rを使って度数分布表とヒストグラムを実際に作ってみます。

生データはRのデータセットから引用させていただきますので、その辺りの操作も少し触れます。

最後に、度数分布表とヒストグラムからどのくらいの情報が読み取れるか?を検証してみます。

では、順に進めていきます。

生データをどこから持ってくる?

生データが無いとどうにもならないので、まずはデータを取り込みます。

Rにはデータセットという、無償提供の観測データが収録されています。

この観測データの中から有名な「iris」というあやめの種類と大きさに関するデータを利用します。

利用するにはRのコンソールで次のように入力します。

library(datasets)

これだけでデータを利用する準備が整います。

この状態で次のようにすると、「iris」のすべてのデータを見ることができます。

iris

2016-08-03_10h21_54

このデータはあやめのがく片(sepal)と花びら(petal)の長さ(length)と幅(width)を、あやめの種類ごとに調査したデータです。

ここでは、どんなデータか?ということはあまり考えずに、このデータの中から花びらの長さ(Petal.Length)だけを取り出します。

data <- iris$Petal.Length
data

2016-08-04_17h52_42_度数分布表とヒストグラムってどう使うの?Rで実際にやってみた!

表示されるのは生データの数字の羅列です。

この情報だけでデータの特徴はわからないので、度数分布表とヒストグラムを作って見ていきます。

Rではヒストグラムと同時に度数分布表のデータを取得できる

早速、度数分布表を作ってヒストグラムを描いてみますが・・・

Rではヒストグラムを出力する関数(hist)を使うと、度数分布表を作らずにヒストグラムを描くことができます。

hist(data)

2016-08-04_19h04_23

ここまではRの基本で教科書レベルですが、実はhist関数にはヒストグラムの元になった、度数分布表のデータが収納されています。

このデータを取り出して、度数分布表も作ってみます。

data.hist <- hist(data)
data.hist

2016-08-04_19h11_48_度数分布表とヒストグラムってどう使うの?Rで実際にやってみた!

hist関数が持っているデータを新たに「data.hist」に保存することで、その中身を見ることができます。

このデータにはヒストグラムの元になっている度数分布に関するデータが入っているので、そのまま転用すれば度数分布表を簡単に作ることができます。

data.freqtable <- data.frame(data.hist$mids, data.hist$counts)
data.freqtable

2016-08-05_09h44_46_度数分布表とヒストグラムってどう使うの?Rで実際にやってみた!

ここまでできれば後は相対度数・累積相対度数を計算するだけです。

相対度数はデータの数で度数を割る、累積相対度数は単に累積値を求めればいいので、データフレームにその列を組み込みます。

relaFreq <- data.hist$counts / length(data) * 100    # 相対度数
cumsumRelaFreq <- cumsum(relaFreq)    # 累積相対度数
data.freqtable <- data.frame(data.freqtable, relaFreq, cumsumRelaFreq)    # 度数分布表につなげる
data.freqtable    # 表示

2016-08-06_07h08_02_度数分布表とヒストグラムってどう使うの?Rで実際にやってみた!

length関数はデータの個数(n)を求める関数、cumsum関数は累積和を求める関数です。

出来上がったベクトルを最後にデータフレームとして度数分布表にくっつけています。

これでヒストグラムと度数分布表が作れたので、一連の作業は終了です。

ヒストグラム・度数分布表から読み取れること

データ解析に戻って、最初のテーマにしていた、ヒストグラムから特徴つかむところに入っていきます。

無償配布のデータから流用していますが、こういう前提で見てみましょう。

太郎くんは花壇に咲いていた150本のあやめの花びらの長さを測って記録しました。
このデータについて、ヒストグラムと度数分布表から考えられることは何でしょうか?

そう思いながら、ヒストグラムと度数分布表を見てみます。

2016-08-04_19h04_23_度数分布表とヒストグラムってどう使うの?Rで実際にやってみた!

2016-08-06_07h48_34

1cmの辺りと4,5cmの辺りに、山型が2つあります。

こういう形状を示しているときは、2種類のデータが混ざっていることを疑ってみます。

「1cmくらいの花びらのあやめ」と「4,5cmくらいの花びらのあやめ」は種類が違うあやめなのではないか?

と考えられるわけです。

ということは、1cmと4,5cmくらいのもので、グループ分けをしておいた方が良さそうだ!と考えることができます。

 

次に考えるのが、正規分布を仮定して統計処理を進めてよいか?です。

1cmと4,5cmの2つのグループに分けて考えるとき、それぞれのヒストグラムは山型なので、これも問題無いと思われます。

このあと、何かしらの統計的な処理をする場合は、正規分布を仮定した統計処理をしても良さそうです。

厳密には「正規性の検定」というのがあるのですが、この辺りは今は無視しておきます。

正規分布を仮定できるのであれば、平均値と標準偏差を利用すれば、代表値としては問題なさそうです。

逆に最頻値や中央値は使わないほうがいいかもしれません。

あとがき

今回はRの使い方も含めて、ヒストグラムの作り方と考え方を説明してみました。

もしRで統計を学ぶことを考えているならこの本が参考になるので、勉強したい方にはおすすめです。

 

記述統計とは?どんな目的でデータを整理するのか?前のページ

inkscapeのタイルクローンでドットパターンを作る手順次のページ

記事が気に入ったら
tipLog を "いいね!"
Facebookで更新情報をお届け。

tipLog

関連記事

  1. 医療統計

    記述統計とは?どんな目的でデータを整理するのか?

    統計の基礎部分では、度数分布や平均値・分散・相関など、データそのものの…

  2. 医療統計

    データの分析に必要な尺度水準について

    データを分析したい、何らかの統計処理をしたい場合に、どの統計手法が妥当…

  3. 医療統計

    散布度の基本とRで散布度を計算する方法

    散布度をRで求める方法。散布度にはいろいろな基準があるが、Rはほとんど…

  4. 医療統計

    表計算ソフトに置き換えてRのベクトルを理解する

    Rではベクトルという概念でデータを取り扱うのですが、はじめは理解が難し…

  5. 医療統計

    統計をゼロから勉強するときの指針みたいなもの

    医療に携わる職種として、論文とかメーカーの出すデータを読むために、統計…

  6. 医療統計

    代表値の意味と統計ソフト【R】で代表値を求める方法

    代表値の意味は、データの特徴を表す数値の中でデータの中心となる値のこと…

コメント

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

CAPTCHA


スポンサードリンク

スポンサードリンク

inkscapeを学ぶ

Inkscapeの入門書

カテゴリー

ピックアップ記事

  1. 特集

    無料でクオリティが高く、検索機能が利用できる画像素材サイト3選
  2. ブログやサイトの作り方

    月額100円から使える「ロリポップレンタルサーバー」
  3. ブログの収益化

    報酬の受取に苦労してません?初心者でもAmazon・楽天のアフィリエイトで効率的…
  4. 特集

    inkscapeの使い方を集めたスキルアップのための日本語チュートリアル集
  5. ブログやサイトの作り方

    TCDテーマ比較「CUBEY」と「BlogPress」どっちがいい?
PAGE TOP