R言語プログラミング: 基本統計量の算出
統計解析・データマイニング言語である R言語の 基本統計量の算出関数について、ソースコードを用い紹介する。記載しているソースは、R Console上や EclipseでR-Scriptとして、そのまま実行可能である。
R Consoleでの実行例 (Rのインストール・環境設定はこちら)
EclipseでのR-Scriptとしての実行例 (RをEclipseで実行するための方法はこちら)
基本統計量 算出関数
統計量(Statistics)とは、統計的な性質を要約した数量。基本統計量とは通常よく使用される統計量で、合計、平均、中央地、分散、四分位数などを示す。
基本統計量 | 関数 |
---|---|
合計 | sum |
算術平均 | mean |
最大値 | max |
最小値 | min |
範囲(最大値-最小値) | range |
中央値 | median |
分散 | var |
標準偏差 | sd |
分位数 | quantile |
統計要約 | summary |
data <-c(1:10) # 1-10の数値Vectorを作成 data # dataを表示 sum(data) #合計 mean(data) #算術平均 max(data) #最大値 min(data) #最小値 range(data) #範囲(最大値-最小値) median(data) #中央値 var(data) #分散 sd(data) #標準偏差 quantile(data) #分位数 summary(data) #統計要約
実行結果
> data <-c(1:10) # 1-10の数値Vectorを作成 > data # dataを表示 [1] 1 2 3 4 5 6 7 8 9 10 > > sum(data) #合計 [1] 55 > mean(data) #算術平均 [1] 5.5 > max(data) #最大値 [1] 10 > min(data) #最小値 [1] 1 > range(data) #範囲(最大値-最小値) [1] 1 10 > median(data) #中央値 [1] 5.5 > var(data) #分散 [1] 9.166667 > sd(data) #標準偏差 [1] 3.027650 > quantile(data) #分位数 0% 25% 50% 75% 100% 1.00 3.25 5.50 7.75 10.00 > summary(data) #統計要約 Min. 1st Qu. Median Mean 3rd Qu. Max. 1.00 3.25 5.50 5.50 7.75 10.00
四分位数
データを小さい値から大きい値へ順に並べたとき
- 第1四分位数:小さいほうから 25%点
- 第2四分位数(中央値):小さいほうから 50%点
- 第3四分位数:小さいほうから 75%点
Apply関数
Apply関数を用いることにより、データセットの各行ごと・列ごとに、上記各種の基本統計量を算出することができる。
関数形
apply(X, MARGIN, FUN, ...)
Xはデータ、MARGINは、行単位の算出の場合は"1"、列単位の算出の場合は"2"を指定。FUNは、統計量の関数や計算式を与える。
iris のデータ(よく使用されるあやめデータ)で4つの列のそれぞれの統計量を求めるプログラムを以下に示す。
第2引数MARGINの値"2"は列単位の算出を表し、FUNでは各種用いる統計関数を指定している。
apply(iris[,1:4],2,sum) #合計 apply(iris[,1:4],2,mean)#算術平均 apply(iris[,1:4],2,max) #最大値 apply(iris[,1:4],2,min) #最小値 apply(iris[,1:4],2,range) #範囲(最大値-最小値) apply(iris[,1:4],2,median) #中央値 apply(iris[,1:4],2,var) #分散 apply(iris[,1:4],2,sd) #標準偏差 apply(iris[,1:4],2,quantile) #分位数 apply(iris[,1:4],2,summary) #統計要約
実行結果
> apply(iris[,1:4],2,sum) #合計 Sepal.Length Sepal.Width Petal.Length Petal.Width 876.5 458.6 563.7 179.9 > apply(iris[,1:4],2,mean)#算術平均 Sepal.Length Sepal.Width Petal.Length Petal.Width 5.843333 3.057333 3.758000 1.199333 > apply(iris[,1:4],2,max) #最大値 Sepal.Length Sepal.Width Petal.Length Petal.Width 7.9 4.4 6.9 2.5 > apply(iris[,1:4],2,min) #最小値 Sepal.Length Sepal.Width Petal.Length Petal.Width 4.3 2.0 1.0 0.1 > apply(iris[,1:4],2,range) #範囲(最大値-最小値) Sepal.Length Sepal.Width Petal.Length Petal.Width [1,] 4.3 2.0 1.0 0.1 [2,] 7.9 4.4 6.9 2.5 > apply(iris[,1:4],2,median) #中央値 Sepal.Length Sepal.Width Petal.Length Petal.Width 5.80 3.00 4.35 1.30 > apply(iris[,1:4],2,var) #分散 Sepal.Length Sepal.Width Petal.Length Petal.Width 0.6856935 0.1899794 3.1162779 0.5810063 > apply(iris[,1:4],2,sd) #標準偏差 Sepal.Length Sepal.Width Petal.Length Petal.Width 0.8280661 0.4358663 1.7652982 0.7622377 > apply(iris[,1:4],2,quantile) #分位数 Sepal.Length Sepal.Width Petal.Length Petal.Width 0% 4.3 2.0 1.00 0.1 25% 5.1 2.8 1.60 0.3 50% 5.8 3.0 4.35 1.3 75% 6.4 3.3 5.10 1.8 100% 7.9 4.4 6.90 2.5 > apply(iris[,1:4],2,summary) #統計要約 Sepal.Length Sepal.Width Petal.Length Petal.Width Min. 4.300 2.000 1.000 0.100 1st Qu. 5.100 2.800 1.600 0.300 Median 5.800 3.000 4.350 1.300 Mean 5.843 3.057 3.758 1.199 3rd Qu. 6.400 3.300 5.100 1.800 Max. 7.900 4.400 6.900 2.500
関連文献:
- 作者: 金明哲
- 出版社/メーカー: 森北出版
- 発売日: 2007/10/01
- メディア: 単行本(ソフトカバー)
- 購入: 36人 クリック: 694回
- この商品を含むブログ (64件) を見る
- 作者: 青木繁伸
- 出版社/メーカー: オーム社
- 発売日: 2009/04/01
- メディア: 単行本
- 購入: 10人 クリック: 123回
- この商品を含むブログ (34件) を見る