- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- ソース を表示
- バイオ・データ・マイニング/Rで統計分析する へ行く。
- 1 (2013-11-14 (木) 17:06:39)
- 2 (2013-11-15 (金) 06:14:59)
- 3 (2013-11-15 (金) 07:45:31)
- 4 (2013-11-19 (火) 09:16:26)
- 5 (2013-11-19 (火) 18:39:50)
- 6 (2014-11-07 (金) 10:59:05)
- 7 (2015-11-11 (水) 15:06:37)
- 8 (2015-11-11 (水) 17:10:14)
- 9 (2015-11-11 (水) 17:10:14)
- 10 (2018-10-16 (火) 15:19:02)
- 11 (2018-10-16 (火) 19:43:20)
- 12 (2018-10-17 (水) 20:04:14)
- 13 (2018-10-18 (木) 11:04:26)
- 14 (2018-10-24 (水) 19:27:56)
- 15 (2018-10-25 (木) 01:18:58)
- 16 (2018-10-25 (木) 09:00:29)
- 17 (2018-10-26 (金) 01:08:07)
- 18 (2018-10-31 (水) 14:06:25)
- 19 (2019-10-03 (木) 10:18:31)
- 20 (2019-10-04 (金) 14:12:07)
- 21 (2019-10-04 (金) 16:24:33)
- 22 (2019-10-05 (土) 13:08:42)
- 23 (2019-11-13 (水) 13:45:02)
- 24 (2020-05-25 (月) 08:50:54)
はじめに †
Rを使って平均,分散,標準偏差を求めます.
準備 †
Rのインストールについては,次のページを見てください.
最初は,標準で使用できるirisデータセットを使います.
data(iris)
このデータセットは,アヤメの種類(Species)を花びらの長さ(Sepal.Length),幅(Lepal.Width),がくの長さ(Petal.Length),幅(Petal.Width)によって分類する問題です. 長さと幅は連続値,種類はsetosa, versicolor, virginicaのいずれかをとる離散値です.
このデータセットには,setosa, versicolor, virginicaという3種類のアヤメについて,それぞれ50個ずつ,合計150個のデータが含まれています. ランダムに10個のデータを選択して,見てみましょう.
iris[sort(sample(1:150,10)),]
ヒストグラム †
まずは,setosaのSepal.Lengthについて,ヒストグラムを表示してみましょう.
Speciesの値がsetosaのデータだけを取り出すには,次のようにします.
> iris[sort(sample(1:150,10)),] Sepal.Length Sepal.Width Petal.Length Petal.Width Species 4 4.6 3.1 1.5 0.2 setosa 22 5.1 3.7 1.5 0.4 setosa 65 5.6 2.9 3.6 1.3 versicolor 97 5.7 2.9 4.2 1.3 versicolor 100 5.7 2.8 4.1 1.3 versicolor 108 7.3 2.9 6.3 1.8 virginica 116 6.4 3.2 5.3 2.3 virginica 122 5.6 2.8 4.9 2.0 virginica 136 7.7 3.0 6.1 2.3 virginica 146 6.7 3.0 5.2 2.3 virginica
コンマを忘れないようにしてください.
Speciesの値がsetosaのデータのSepal.Lengthの値(つまり,1列目の値)だけを取り出して,setosa.Petal.Lengthとします.
install.packages("ggplot2") library(ggplot2)
そこで,これのヒストグラムを表示します.
ヒストグラムを表示するにはhist関数を使います.
plot(x=iris$Petal.Length, y=iris$Petal.Width, xlab="Petal.Length", ylab="Petal.Width")
#ref(): File not found: "histgram_1.png" at page "バイオ・データ・マイニング/Rで統計分析する"
区間を増やして細かくしたり,色を付けたりすることもできます.
ggplot(data=iris, aes(x=Petal.Length, y=Petal.Width))+ geom_point()+ theme(aspect.ratio=1)
#ref(): File not found: "histgram_2.png" at page "バイオ・データ・マイニング/Rで統計分析する"
平均 †
平均は,値の合計を値の数で割ったものです. \[\mu(X) = \frac{\sum_{i=1}^{n} x_i}{n}\]
平均を求めるには,mean関数を使います.
ggplot(data=iris, aes(x=Petal.Length, y=Petal.Width))+ geom_point()+ geom_smooth(method="lm")+ theme(aspect.ratio=1)
平均値からのズレ [math]x_i - \mu(x)[/math] を偏差といいます.
分散 †
不偏分散は,標本(サンプル・データ)に含まれる値の偏差の平方和を標本数から1を引いた値で割ったものです. なぜ標本数から1を引くのかについては,統計の教科書で勉強してください. \[Var(X) = \frac{\sum_{i=1}^{n} (x_i - \mu(X))^2}{n-1}\]
不偏分散を求めるには,var関数を使います.
ggplot(data=iris, aes(x=Petal.Length, y=Petal.Width, color=Species, shape=Species))+ geom_point()+ theme(aspect.ratio=1)
標準偏差 †
不偏標準偏差は,不偏分散の平方根です. \[\sigma(X) = \sqrt{Var(X)}\]
不偏標準偏差を求めるには,sd関数を使います.
versicolor <- iris[51:100,] hist(versicolor$Petal.Length, xlab="Petal.Length", main="")