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’)します。


スポンサーリンク




ピックアップ記事

  1. tidyverse – distinct関数でデータフレームの重複行を削除 dplyrパッケージ

    tidyverseでデータフレームの重複行の削除を行う場合、dplyrパッケージのdistinct…
  2. awk split サンプルでわかる列の分割とセパレータ(文字・正規表現)の指定方法

    awkのsplit関数は、セパレータを指定して文字列を分割することができます。セパレータには文字や…
  3. R plot 重ねる方法3パターン サンプルでわかるRの使い方

    Rでグラフ (plot) を重ねる方法は、「単純な追加」「図に重ねて描画」「濃淡で重なり表現」の3…

人気記事

  1. R データ型 - 文字列・ベクター・データフレーム・マトリックス など-, R言語, スクリプト

    R subset関数 データフレームやmatrixからの条件指定による行・列の抽出
    R の subset関数は、データフレームやマトリックスか…
  2. Excel, その他, 統計

    z-score 計算方法 エクセル(Excel) 編
    統計処理で、大きく変化しているなどの判断基準にも使われる値…
  3. IGV, 解析ツール

    IGV 使い方 インストール〜便利な使い方まで | リファレンス・マッピングデータ・アノテーションを読み込んで表示しよう
    IGV(Integrative Genomics View…

おすすめ記事

  1. awk, bash 文字列操作, シェルスクリプト

    bash 部分文字列・置換・長さ・連結・分割の文字列処理
    bashのよく使う文字列処理、部分文字列・置換・連結・長さ…
  2. bash 応用, シェルスクリプト

    シェル スクリプト ファイル存在チェック・空のファイルチェック
    bashでスクリプトを作成するときに、よく使うのがファイル…
  3. R言語, グラフ

    R 使い方 軸・ラベルの調整(向き・サイズ・色など) グラフの描き方
    Rによるplot(グラフ)の描画は、手軽で大変便利です。た…