医療統計

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

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

イメージとしてはヒストグラムを描いたときの山になっている部分と捉えるとわかりやすいですね。

一般的には平均値と呼ばれる中心を使うこともい多いですが、その他に最頻値や中央値というのもあります。

それぞれ、利用する場面が違っているのでそのあたりはよく理解しておいたほうがいいと思います。

代表値の求め方と対応するRの関数

はじめに代表値について、サラッとまとめておきますね。

代表値

説明

Rの関数

平均値(算術平均) 全部のデータを足してデータの数で割れば求められる。
\bar{x}=\frac{1}{n}\sum^{n}_{i=1}x_i
mean()
中央値 データを小さい順に並べ、両側からちょうど真ん中にある数値のこと。
奇数個の数値からできているデータであれば真ん中。
偶数個の数値からできているデータでは真ん中2つの値の平均値。
median()
最頻値 データの中で最も多く現れる数値または文字などの記号。 table() → 標準機能
mfv() → modeestパッケージ

代表値の求め方と実際のRの使い方

ここから先で使えるように予めデータを用意しておきましょう。

連続型データとしてx、離散型データとしてyを用意します。

x <- rnorm(200, mean=155, sd=5)
yprob <- c(0.05, 0.07, 0.09, 0.21, 0.07, 0.03, 0.08, 0.25, 0.1, 0.05)
y <- sample(0:9, 300, replace=TRUE, prob=yprob)

yprobはyを用意するためのベクタなので気にしないでOKです。

ヒストグラムを書いてみるとこんなデータです。

このデータに対して代表値を求めていきます。

平均値の求め方

平均値は基本統計量の中でもよく使われるもので、データの数値をすべて足してデータの個数で割ったものです。

数学的には

\bar{x}=\frac{x_1+x_2+x_3+\cdots+x_n}{n}=\frac{1}{n}\sum^{n}_{i=1}x_i

と表現されます。

ちなみに、数学では平均値のことを「\bar{x}」のように表現して、「エックス・バー」と読みます。

平均値は数学的な四則演算ができなければ求めることはできないので、普通は連続型のデータに用います。

ほとんどのデータで代表値といえば、この平均値が使われていますね。

Rを使った平均値の求め方【mean関数】

Rで平均値を求めるには、mean関数という関数を使ってこう入力します。

mean(x)

Rの電卓的な書き方で平均値を求めるには次のようにします。

sum(x)/length(x)

length関数はデータの個数を求める関数、sum関数は合計を求める関数です。

mean関数で求めた結果と同じになっているはずです。

求めた平均値をヒストグラムに書き加えるには abline関数を使います。

abline(v=mean(x), col="red")


abline関数は元々「y=ax+b」の直線を引くための関数ですが、 「v=数値」とするとx軸に垂直(バーティカル;vertical)な直線、グラフ上では「x=v」の直線を引くことができます。

中央値の求め方

中央値は観測データを大小で並べ替えて、ちょうど真ん中に来た値のことを言います。

観測データとして、「y=(y_1, y_2, y_3, \cdots, y_n)」というn個のデータが得られたとします。

これを小さい順に並べ替えたものを「y'=(y'_1, y'_2, y'_3, \cdots, y'_n)」として置き換えると、中央値「Q_{\frac{1}{2}}」はこうなります。

Q_{\frac{1}{2}}=y'_{\frac{n+1}{2}} n が奇数の場合

Q_{\frac{1}{2}}=\frac{1}{2}(y'_{\frac{n}{2}}+y'_{\frac{n}{2}+1}) n が偶数の場合

ただ、この方法をRのようなソフト無しでやろうとするとなかなか骨が折れるので、手計算はふつうしませんね。

Rを使った中央値の求め方【median関数】

Rで中央値を求めるにはmedian関数を使って

median(x)

とすると求められます。

Rの計算機能で求めようとするには、これば正確ではありませんが、次のようにします。

xs <- sort(x)
xs[floor(length(xs)/2)]

中央値はデータの長さ(個数)が奇数個のとき、ちょうど真ん中の値を得ることができますが、データの長さが偶数個の場合は、真ん中の2つの値の平均値となるように求めるのが一般的です。

なので、このように計算機能を使って求めるよりmedian関数を使うことをおすすめします。

求めた中央値をヒストグラムに追加するにはabline関数を使って、平均値と同じようにします。

abline(v=median(x), col="red")

最頻値の求め方

最頻値はデータの中で一番多く出現した値のことを言います。

数式的には確率密度関数など複雑な話が出てくるので、ここでは割愛します。

例としてはある観測値「x」が

x=(1, 2, 3, 3, 3, 4, 4, 5)

となったとき、一番多く出現した「3」を最頻値(モード; mode)と呼びます。

Rを使った最頻値の求め方【table関数】

Rでは最頻値を直接求める用途の関数はありませんが、table関数という観測値を集計する関数があります。

これを利用して最頻値を求めることができます。

yt <- table(y)
yt[yt == max(yt)]

Rの初心者の方には難しいかもしれませんが、Rをインストールした時点ですぐ使える方法がこの方法です。

何をしているのかというと、table関数で集計したデータの中で、一番多く観測された値とその頻度を集計表から取り出すことをしています。

その部分が”[yt == max(yt)]”の部分です。

ちょっとテクニカルなのですが、はじめのうちはこのくらいの処理ができるようになれば十分です。

単純にtable関数の結果だけでも充分な場合もあるので、そのあたりは臨機応変にしてください。

Rを使った最頻値の求め方【modeestパッケージ:mfv関数】

最頻値を直接求めるにはmodeestパッケージのmfv関数を使うこともできます。

頻繁に最頻値を出力したい場合はこちらのほうが楽かもしれません。

これを使うには、modeestパッケージをインストールして、library関数で読み込む必要があります。

読み込みはこうします。

library(modeest)

library関数で読み込んでからmfv関数を使用します。

mfv(y)

とすれば最頻値を求めることができます。
結局手間がかかる作業なので、アンケート調査などで最頻値が常に必要になる場合に使うことをおすすめします。

 

簡単にテキストレイアウトができるinkscapeの「テキストの流し込み」機能の使い方前のページ

WordPressでも簡単に使えるってほんと?会話風吹き出しのCSSテンプレート次のページ

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

tipLog

関連記事

  1. 医療統計

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

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

  2. 医療統計

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

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

  3. 医療統計

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

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

  4. 医療統計

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

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

  5. 医療統計

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

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

  6. 医療統計

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

    度数分布表とヒストグラムはある集団のデータ(観測値)の特徴をひと目で理…

コメント

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

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

CAPTCHA


スポンサードリンク

スポンサードリンク

inkscapeを学ぶ

Inkscapeの入門書

カテゴリー

ピックアップ記事

  1. ブログやサイトの作り方

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

    報酬の受取に苦労してません?初心者でもAmazon・楽天のアフィリエイトで効率的…
  3. ブログやサイトの作り方

    TCDテーマ比較「CUBEY」と「BlogPress」どっちがいい?
  4. 特集

    inkscapeの使い方を集めたスキルアップのための日本語チュートリアル集
  5. グラフィックデザイン

    自作?外注?その前にコレ!ブログのロゴデザインをするなら「Logaster」を使…
PAGE TOP