群馬大学 | 医学部 | サイトトップ | 医学情報処理演習
今回使った関数や文の主なものをまとめます (A selected summary of functions and statements used in the 5th practice is shown here.)
関数名(name) | 機能(effect) | 使い方(usage) |
---|---|---|
attach() | データフレーム利用宣言 | これ以降,そのデータフレーム(実はリストでもいい)内の変数はデータフレーム名$を付けなくても参照できる。例えば,airqualityというデータフレームの中の変数Windは,attach(airquality)後はairquality$Windとしなくても,たんにWindで参照できる。ただし,実は新しい環境に変数がコピーされるだけなので,そこでWind[1] <- 100などと付値すると,Wind[1]とairquality$Wind[1]が違う内容になってしまう。なお,airquality$Windに対して付値してデータを書き換えても,組み込みデータ自体は不変で,あくまでもメモリ上のコピーが変化するだけなので,Rをいったん終了して再起動すればairquality$Windの中身は元通りである。利用が終わったら必ず終了宣言(detach)する癖をつけておくといい。 |
detach() | データフレーム利用終了宣言 | attach()により利用開始宣言したデータフレームの利用を終了する。元のデータフレームは変化しない。 |
function() { } | 関数定義 | plus <- function(A,B) { A+B }を実行すると,例えばplus(5,7)で12が返される。{ }の中は複数行になっても構わないが,返り値は最終行の値。第3回の一覧も参照。 |
as.integer() | 整数型扱いさせる | as.integer(1.5)で1が返る。as.integer("141")で141が返る。as.integer("A")はNAとなるが,as.integer(factor(c("C","B","Z")))はc(2, 1, 3)という整数ベクトルを返す。 |
sum() | 合計を求める | |
ifelse() | 条件により異なる値を返す | X <- c("M","F","F","M"); Z <- ifelse(X=="M",1,2)とすると,Zにはc(1, 2, 2, 1)という整数ベクトルが入る。 |
c() | ベクトル定義 | {16, 18, 11}という3つの要素をこの順でもつ整数ベクトルを定義するには,c(16, 18, 11)とする。但し連続した整数のベクトルを作る時はc()を使わず,":"を使う方が楽である。例えば,1から10までの整数を要素とするベクトルは,1:10で定義できる。 |
layout() | グラフィック画面の配置設定 | 行列を指定できるので,画面分割を自由に設定できる。例えば,グラフィック画面を1:4で上下に分割し,上ウィンドウを左右に3:1で分割したいなら,5行4列に分割して同じウィンドウには同じ数字を入れればいいので,layout(matrix(c(rep(1,3),2,rep(3,16)),5,4,byrow=TRUE))としてからプロットすれば,最初のプロットが左上,次のプロットが右上,3番目のプロットが下の大きな分割に描画される。 |
matrix() | 行列の定義(ベクトルを行列にする) | |
for () {} | ()の間{}の処理を繰り返し | |
barplot() | 棒グラフを描く | |
table() | カテゴリ変数の度数分布表を計算 | |
paste() | 文字列にする | |
names() | 名前付きベクトルやデータフレームから名前を取りだす | |
while () {} | ()の間{}の処理を繰り返し | for () {}との違いは,()の繰り返し回数が決まっていないこと。無限ループになる可能性があるので注意 |
choose() | 組み合わせ数 | |
^ | 累乗 | 5^2は5の2乗なので25となる |
curve() | 定義域を指定して関数の曲線を描く | 使い方は,curve(関数名, 定義域の下限, 定義域の上限)。つまり,-πからπまでのサインカーブを描かせるには,curve(sin(x),-pi,pi)とする。 |
dbinom() | 2項分布の確率(密度)関数 | |
dnorm() | 正規分布の確率密度関数 | |
qnorm() | 正規分布の分位点関数 | |
pnorm() | 正規分布の確率母関数 | |
rnorm() | 正規分布に従う乱数を発生させる | |
dchisq() | カイ二乗分布の確率密度関数 | |
qchisq() | カイ二乗分布の分位点関数 | |
pchisq() | カイ二乗分布の確率母関数 | |
dt() | t分布の確率密度関数 | |
qt() | t分布の分位点関数 | |
pt() | t分布の確率母関数 | |
df() | F分布の確率密度関数 | |
qf() | F分布の分位点関数 | |
pf() | F分布の確率母関数 | |
read.delim() | タブ区切りテキスト形式データファイルの内容をデータフレームとして読み込む | |
shapiro.test() | 分布の正規性についてShapiro-Wilkの検定を行う | |
qqnorm() | 正規確率プロットの描画 | 数値ベクトルを引数として与え,正規確率プロット(Normal Q-Q plot)を行う。もしデータが正規分布していれば直線に乗るはずで,その直線を描かせるにはqqline()を用いる |
library(fmsb) | fmsbライブラリをメモリに読み込む | |
geary.test() | 分布の正規性についてGearyの検定を行う(注:fmsbライブラリを読み込んだ後で実行) | |
tapply() | 条件別に同じ関数をデータベクトルに適用 | tapply(11:15,factor(c("M","F","M","F","F")),mean)とすると,2番目の引数には"M"と"F"の2水準あるので,1番目の引数であるデータをその2水準によってグループ分けし,グループごとに,平均値を求める関数mean()を適用してくれる。tapplyの引数にする時は,関数名に()は付けないことに注意。この例を実行すると,という結果が出る。つまり,2番目の引数の値が"F"となっている,1番目の引数に与えられたデータベクトル11:15の2, 4, 5番目の値である{12, 14, 15}の平均値である13.66667と,2番目の引数の値が"M"となっている1, 3番目の{11, 13}の平均値である12.00000が,その順番で計算され表示される。F M 13.66667 12.00000 |