記述統計
Rで記述統計を得る方法はいろいろある。たとえば、sapply関数を使ってmean, sd, var, min, max, med, range, and quantileを適用する。
					sapply(mtcars, mean, na.rm=TRUE)
ほかにもいろいろ
# 平均値、中央値、25%・75%クォンタイル値、最小値、最大値
				summary(mtcars)
 
				
				# Tukey min,lower-hinge, median,upper-hinge,max
				fivenum(mtcars$wt)
Hmiscパッケージのdesribe関数
library(Hmisc)
				 describe(mtcars) 
				 # n, nmiss, unique, mean, 5,10,25,50,75,90,95th percentiles 
			# 5 lowest and 5 highest scores
pastecsパッケージのstat.desc関数
library(pastecs)
				stat.desc(mtcars) 
				
				# nbr.val, nbr.null, nbr.na, min  max, range, sum, 
				#
			median, mean, SE.mean, CI.mean, var, std.dev, coef.var
psychパッケージのdescribe関数。マジお勧め
library(psych)
			describe(mtcars)
			# item name ,item number, nvalid, 
			mean, sd, 
			# 
			median, mad, min, max, skew, kurtosis, se
グラフ
複数の数値変数があるデータフレームを変数ごとにプロットする
			xd <- mtcars
			ncx <- ncol(xd)
			par(mfrow=c(floor(sqrt(ncx)), ceiling(sqrt(ncx))))
			for (i in 1:ncx) {
			  a <- xd[,i]
			  nm <- names(xd[i])
			  plot(a, main=nm)
			  }
		
グループごとに記述統計量を求める
psychパッケージのdescribe.byを使うのががシンプルなやり方
library(psych)
			describe.by(iris[1:4], list(iris[,5]))
The doBy パッケージは自分でいろいろカスタマイズできる。
library(doBy)
			summaryBy(mpg + wt ~ cyl + vs, data = mtcars, 
 			FUN = function(x) {
c(m = mean(x), s = sd(x))
 } )
			# produces mpg.m wt.m mpg.s wt.s for each 
			# combination of the levels of cyl and vs 
データの集計も参照
データチェック
				## サンプルデータ
				library(psych)
				data(bfi) # psychパッケージ内のデータセット
				dat <- bfi
				library(psych)
				# 各変数ごとに反応の種類を調べる
				sapply(dat, function(x) levels(factor(x)))
				  # 変数ごとに反応や単位が違う場合に使う。データはデータフレームにしておくこと
				  # library(psych); data(sat.act); sapply(sat.act, function(x) levels(factor(x)))
				# 全体の回答数
				summary(factor(as.matrix(dat)))
				# 一応プロットもしてみる
				win.graph()
				plot(as.vector(as.matrix(dat)))
				win.graph()
				hist(as.vector(as.matrix(dat)))
				# 各項目ごとの反応数を集計する。
				# 有効回答 (NA, Inf, NaN以外の反応) 種類をとりだす
				(res <- names(table(as.matrix(dat)))) # table関数はNAとかは集計しないことを利用
				resN <- length(res) # 反応の種類数
				itemN <- ncol(dat) # 項目数
				count.dat <- data.frame(matrix(NA, itemN, resN)) # 集計表用の行列。行が項目、列が反応
				  rownames(count.dat) <- names(dat)
				  colnames(count.dat) <- res
				for (i in 1:resN){
				count.dat[,i] <- sapply(dat, function(x) sum(na.omit(x)==res[i]))
				}
				count.dat
				# NA, NaN, Infも調べる
				na <- sapply(dat, function(x) sum(is.na(x))) # NAとNaNがカウントされる
				inf <- sapply(dat, function(x) sum(is.infinite(x))) # Infをカウント
				# 記述統計とかとくっつける。記述統計はpsychパッケージのdescribe関数で
				descriptives <- cbind(data.frame(describe(dat)), count.dat, na, inf)
				descriptives
				# csvで保存
				write.csv(descriptives, file=paste("descriptives.欠損除去", "_", Sys.Date(), ".csv", sep=""), quote=FALSE)