群馬大学 | 医学部 | サイトトップ | 医学情報処理演習

医学情報処理演習:2011年度第9回の関数

今回使った関数や文の主なものをまとめます (A selected summary of functions and statements used in the 9th practice is shown here.)

関数名(name)機能(effect)使い方(usage)
choose()組み合わせ数を計算するchoose(5,2)で5C2の結果である10が得られる
dbinom()2項分布の確率関数値を得るdbinom(2,20,0.1)で,母比率が0.1の現象が20回の試行のうち,ちょうど2回だけ起こる確率を返す。この値はchoose(20,2)*0.1^2*0.9^18と同値である。
seq()等間隔な数値列を得るseq(1,10,by=1)は1:10と同値である。seq(0,1,by=0.01)は0:100/100と同値である。seq(10,50,length=5)は1:5*10,つまりc(10,20,30,40,50)と同値である。
qbinom()2項分布の分位点関数を得る
binom.test()2項検定を行い,95%信頼区間を表示binom.test(X,N,p)で,「N個体中ちょうどX個体に観察される事象の母比率がpと差が無い」という帰無仮説の検定を行い,同時に,N個体中ちょうどX個体に観察される事象の母比率の点推定量と95%信頼区間が表示される。
barplot()棒グラフを表示する棒グラフを表示する。返り値は各棒のX座標となる。引数が行列の場合は各列を1本の棒とする積み上げ棒グラフになる(但しbeside=TRUEオプションにより積み上げずに横に並べることもできる)。列ごとの合計を1にした割合の棒グラフにしたい場合は,元の行列がZ <- matrix(c(10,30,20,20),2,2)であるとして,barplot(Z/rbind(colSums(Z),colSums(Z)))とすれば良い。積み上げ要素の凡例を表示したい場合は,元の行列にrownames()関数を使って行の名前をつけておき,legend=TRUEオプションをつければ良い。
lines()折れ線を表示するlines(V,W)で,既に表示されているグラフの上に,ベクトルVをX座標,ベクトルWをY座標とする折れ線を重ね描きする。折れ線の区間が十分に細かければ曲線に見える。
dnorm()正規分布の確率密度関数を返すdnorm(0:40,20,4)は平均20,標準偏差4の正規分布の,0:40のそれぞれに対応する確率密度関数値を返す
qnorm()正規分布の分位点関数を返すqnorm(0.975)は標準正規分布の97.5%点,つまり約1.96を返す
dchisq()カイ二乗分布の確率密度関数を返すdchisq(3.841,1)は自由度1のカイ二乗分布の3.841に対応する確率密度関数値を返す。
pchisq()カイ二乗分布の確率母関数を返すpchisq(3.841,1)は自由度1のカイ二乗分布の3.841に対応する確率母関数値を返す。約0.95である。
dpois()ポアソン分布の確率関数値を返すdpois(3,4)は期待値4のポアソン分布に従う事象が3回だけ起こる確率を返す。sum(dpois(0:100,4))とすると1を返す。
sum()合計を得る
chisq.test()カイ二乗適合度検定を実行する
ks.test()コルモゴロフ=スミルノフ検定を実行するks.test(c(79,61,13,2),dpois(0:3,(61+13*2+2*3)/(79+61+13+2))*(79+61+13+2))で,(0,1,2,3)の度数がそれぞれ(79,61,13,2)であるという分布が,その平均を期待値とするポアソン分布と差が無いという帰無仮説をコルモゴロフ=スミルノフ検定できる。
prop.test()比率の差の検定をするprop.test(A,B)で事象生起回数ベクトルをA,それに対応する総数のベクトルをBとして,事象生起割合に群間で差が無いという帰無仮説を検定する。ベクトルの長さ,つまり群数はいくつでも良い。例えば,prop.test(c(10,20),c(40,50))は,10/40と20/50に差が無いという帰無仮説を検定する。(参考:実はprop.test()はクロス集計表を行列として引数に取ることもできる。上の例はprop.test(matrix(c(10,20,40-10,50-20),2,2))と同値である。逆に言えば,X <- matrix(c(10,20,30,30),2,2)という行列がある時,prop.test(X)は,prop.test(X[,1],rowSums(X))と同値である)
matrix()行列を返す
rowSums()行列の行ごとの和を返す
colSums()行列の列ごとの和を返す
pairwise.prop.test()割合の差の多重比較を行う検定の多重性を調整した2群ずつの割合の差の検定を行う。pairwise.t.test()と同様,p.adjust.method="bon"とすればボンフェローニの方法での調整ができる。デフォルトは"holm"とした場合と同じでホルムの方法である。
prop.trend.test()コクラン=アーミテージ検定を行うprop.trend.test(event,total,score)で,event/totalで計算される事象生起割合にscoreで示される一定の傾向があることを対立仮説とする,コクラン=アーミテージ検定が実行できる
names()ベクトルの名前を参照する参照に付値すると名前を付けることができる。つまり,X <- c(10,20)としたとき,names(X) <- c("A","B")とすれば,Xの最初の要素にA,2番目の要素にBという名前を付けることができる。
rbind()ベクトルを行方向に結合するrbind(c(10,20),c(30,30))はmatrix(c(10,30,20,30),2,2)及びmatrix(c(10,20,30,30),2,2,byrow=TRUE)と同値である。
xtabs()度数分布を返すデータフレームxの中にカテゴリ変数Cがあるとき,xtabs(~C, data=x)によりCのカテゴリごとの度数を得ることができる。table(x$C)と同値である。Cの型が要因型の場合は,summary(x$C)でも度数分布が返ってくるが,違うのは,xtabs()やtable()では欠損が除外されるが,summary()では欠損値の数もNA'sとして返されることである。別の変数Xの値が1であるものだけについてCのカテゴリごとの度数を求めたいときは,xtabs(~C[X==1], data=x)とする。カテゴリ変数C1,C2についてクロス集計したい場合はxtabs(~C1+C2, data=x)またはtable(x$C1,x$C2)とする。

リンクと引用について