データ整理にまつわるエトセトラ
お盆のお供にRStan
お盆ですね。京都では、有名な五山の送り火があります。
とは言っても、病院に休みはありません。むしろ私は"休日当番"として働いています。その傍ら、「はじめての統計データ分析 ベイズ的<ポストp値時代>の統計学」を読み解いています。
データ整理
データ整理について学びのあった基礎的なコードを以下に載せておきます。
dat1<-c(floor(runif(10, min=70, max=90))) #70-90までの乱数を10個作る。 dat1s50<-seq(70,90,5) #5毎に区切る階級幅の準備 dat1s10<-seq(70,90,10) #1毎に区切る階級幅の準備 dat1t<-table(cut(dat1, dat1s50)) #dat1をdat1s50の階級幅で区切ったtable cumsum(dat1) #どんどん足す。 cumsum(dat1t) #区切った表で見るとこんな感じ。 van<-function(x){mean((x-mean(x))^2)} # 標本分散 van(dat1) var(dat1) # 不偏分散 sd(dat1) # 不偏標準偏差 sqrt(variance(dat1)) # 標本標準偏差 sort(dat1) #ソートする median(dat1) #median中間値 quantile(dat1,0.3,type =1) #30%の値 quantile(dat1,0.7,type =1) #70%の値 rev(sort(table(round(dat1)))) #多い順に並ぶ。
正規分布
正規分布を用いて色々と試してみる。
dnorm gives the density, pnorm gives the distribution function, qnorm gives the quantile function, and rnorm generates random deviates. (R Helpより引用)
正規分布にまつわる関数に
dnorm, pnorm, qnorm, rnorm
が存在する。
y<-c(floor(runif(50, max=100, min=1))) # 正規分布の乱数でyを作ってみる sort(y) # 並べ替え m<-mean(y) # 平均 var(y) # 不偏分散 v<-van(y) # 標本分散 sd(y) # 不偏標準偏差 s<-sqrt(van(y)) # 標本標準偏差
ここから、この平均と標本標準偏差を用いて、正規分布を仮定してみる。
dnorm(40, m, s) #40"付近"の値が観察される pnorm(40, m, s) #40未満の値が観察される確率 qnorm(0.6, m, s) #60%の値
つぎは、実際にRStanを用いてRに計算を「お願い」してみます。
References
- はじめての 統計データ分析 ―ベイズ的〈ポストp値時代〉の統計学― 豊田秀樹 朝倉書店 (2016/6/2)
- 正規分布に関連する関数(dnorm, pnorm, qnorm, rnorm)
http://cse.naro.affrc.go.jp/minaka/R/R-normal.html