R 統計 基本統計量の求め方

バイオインフォ道場、くまぞうです。

統計では、データの特徴をあらわすデータの代表値を考えることが多いと思います。良く知っているものばかりですが、Rでの算出方法なども確認しながら整理します。

まずは、まとめて要約

summary関数を使うと、基本統計量をまとめて計算・表示できるので便利です。最小値、第1四分位数、中央値、平均値、第3四分位数、最大値を表示します。

R> data <- rnorm(10, mean=5, sd=2) #母平均=5, 母標準偏差2の正規乱数10個生成
R> summary(data)
R> data
  [1] 3.926160 6.505888 2.852456 8.927205 5.584508 3.365058 6.953775 2.385656
  [9] 5.906996 5.055567
R> summary(data)
  Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
  2.386   3.505   5.320   5.146   6.356   8.927 

データの代表値を求める

代表値とは、データの特徴をあらわす値です。平均値や、最大値・最小値などいった値がふくまれます。

平均値

平均値を計算します。以下2つの計算は同じ結果です。

R> mean(data)
[1] 5.146327
R> sum(data)/length(data)
[1] 5.146327

データの範囲

最小値・最大値を計算します。

R> range(data)
[1] 2.385656 8.927205

中央値(メディアン)

中央値は、データを大きさ順に昇順した場合、真ん中に位置する値です。データが偶数個ある場合は、真ん中2つの値の平均をとって中央値とすることが多いです。

R> median(data)
[1] 5.320037

最頻値(モード)

モードは最も頻繁に観測されるデータです。Rでは頻度情報をtable関数で計算することが多いです。

R> data <- sample(1:10, 100, replace=T)
R> data
 [1] 1  6  4  1  8  2  4  1  3  6  1  5  8  2 10  5  5  4  2  7  2  6  1  4  1
[26] 5  6  7  4  9  4  4  4  2  7  3 10  1  9  9  4  7  1  9  5  2  1  9 10  1
[51]10  3  3  8  2  3 10  7  7  5  4  4  9  4  3  2  5  1  3  2  8  5  7  5  8
[76] 6  3  1  8  6  2  4  1  7  5 10  7  7  4  2 10  8  5  3  7  4  2  6  3  1
R> tdata <- table(data)
R> tdata
data
 1  2  3  4  5  6  7  8  9 10 
14 12 10 15 11  7 11  7  6  7 
R> tdata[tdata == max(tdata)]
 4 
15

連続値の出現頻度をみるには、範囲を区切ってみると便利です。

R> tdata2 <- table(cut(data, breaks=seq(1,10,2))) #1〜10までを、2つとびで区切る
R> tdata2
(1,3] (3,5] (5,7] (7,9] 
2     2     4     1 
R> tdata2[tdata2 == max(tdata2)]
(5,7]
4

モードの計算が一発でできないので、少し不便さを感じます。modeestというライブラリを使うと簡単に計算できます。

R> library(modeest)
R> data
 [1] 1  6  4  1  8  2  4  1  3  6  1  5  8  2 10  5  5  4  2  7  2  6  1  4  1
[26] 5  6  7  4  9  4  4  4  2  7  3 10  1  9  9  4  7  1  9  5  2  1  9 10  1
[51]10  3  3  8  2  3 10  7  7  5  4  4  9  4  3  2  5  1  3  2  8  5  7  5  8
[76] 6  3  1  8  6  2  4  1  7  5 10  7  7  4  2 10  8  5  3  7  4  2  6  3  1
> mfv(data)
 [1] 4

ライブラリインストールは、「modeest_2.1.tar.gz」をダウンロードして、install.pakages(‘modeest_2.1.tar.gz’)します。


スポンサーリンク