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

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

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

関数名(name)機能(effect)使い方(usage)
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()行列を返すmatrix(1:4,2,2)は左上,左下,右上,右下の順に1, 2, 3, 4が入る2×2行列を返す。[,]を使って要素が参照できる。matrix(1:4,2,2)[1,2]は1行2列の要素を参照しているので3を返す。matrix(1:4,2,2)[1,]は1行目を参照しているのでベクトル(1,3)を返す。matrix(1:4,2,2)[,2]は2列目を参照しているので,ベクトル(3,4)を返す。
rowSums()行列の行ごとの和を返すrowSums(matrix(1:4,2,2))はベクトル(4,6)を返す。
colSums()行列の列ごとの和を返すcolSums(matrix(1:4,2,2))はベクトル(3,7)を返す。
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)と同値である。別の変数Xの値が1であるものだけについてCのカテゴリごとの度数を求めたいときは,xtabs(~C[X==1], data=x)とする。カテゴリ変数C1,C2についてクロス集計したい場合はxtabs(~C1+C2, data=x)またはtable(x$C1,x$C2)とする。
roc()fmsbパッケージのROC分析関数require(fmsb); res <- roc(values, iscase); plot(res); print(res)
ROC()EpiパッケージのROC分析関数require(Epi); ROC(values, iscase, plot="ROC")
unique()重複データを除く
sort()ベクトルの要素の小さい順に並べ替えたベクトルを返す
ifelse()条件に合致した場合と合致しない場合に異なる値を返すifelse(COND,A,B)で,CONDがTRUEのときA,FALSEのときBが返る。

リンクと引用について