2016/09/13
2020/05/04
Rでデータ集計に便利なコマンド集と列ごと集計の関数例
R言語を使って、データ集計するときに便利なコマンド、関数をまとめてみました。
関数・コマンド | 用法 |
---|---|
ave() | 平均。引数にベクトルをとって、その平均を返す。 |
median() | 中央値。引数にベクトルをとってその値の中央値を返す。 |
sd() | 不偏標準偏差。引数ベクトルの普遍標準偏差を返す。 |
ans = t.test(value) conf = ans$conf.int | confにvalueの95%信頼区間を格納。 |
min() | 最小値。引数ベクトルの最小値を返す。 |
max() | 最大値。引数ベクトルの最大値を返す。 |
quantile(value,0.25) | %点を求める。この場合valueの25%点を返す。 |
これを元に、データの列ごとに集計する集計用の関数を作成しました。ご自分のデータ集計の参考にしていただけたら幸いです。
この関数は集計用データdatと、結果出力ファイル名を引数に入れると、列ごとに集計を行なって、集計結果のファイルを生成するというようなものです。
出力は、集計データの列名、平均、中央値、不偏標準偏差、95%信頼区間、最小値、25%点、75%点、最大値、データ数、の順番で出ます。
syuukei <- function(dat,filename)
{
for(i in 1:ncol(dat))
{
data = na.omit(dat[,i])
name = colnames(dat)[i]
ave = ave(data)[1]
med = median(data)
sd = sd(data)
ans = t.test(data)
conf = ans$conf.int
min = min(data)
max = max(data)
q25 = quantile(data,0.25)
q75 = quantile(data,0.75)
N = length(data)
result = cbind(name,ave,med,sd,conf[1],conf[2],min,q25,q75,max,N)
colnames(result)[5] = “95%信頼区間下限”
colnames(result)[6] = “95%信頼区間上限”
if(i == 1)
{
write.table(matrix(c(colnames(result)),nrow=1),filename,append=T,quote=F,sep=“,”,row.names=F,col.names=F,fileEncoding=“CP932”)
}
write.table(result,filename,append=T,quote=F,sep=“,”,row.names=F,col.names=F,fileEncoding=“CP932”)
}
}
例えば、dfにデータフレーム型で格納されたデータについて、2列〜12列まで集計したい場合、以下のようにプログラムを記述します。
dat = df[,c(2:12)]
syuukei(dat,filename)
※R言語入門のトップページはこちら
Recommended