忍者ブログ
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

データフレームの列 (変数ごと) に記述統計を出したい

最小値,第1 四分位点,中央値,平均,第3 四分位点,最大値を求める
summary(dat) # NAは自動的に除かれる

不偏標準偏差、不偏分散、標準誤差、データ数 (NAこみ、NAなし、NA) 、歪度、尖度、標本標準偏差、標本分散を求める
##メモ: na.omit(x)はNAを除いてベクトルの要素をそのまま返す。!is.na(x)はTRUE/FALSEを返す。だから数を数えたいときは!is.naを使う。
sd(dat, na.rm=T) # 不偏標準偏差
sd(dat, na.rm=T)^2 # 不偏分散
sapply(dat, function(x) sqrt(var(as.vector(na.omit(x)))/length(na.omit(x)))) 標準誤差
sapply(dat, length) # データ数、NAこみ
sapply(dat, function(x) length(na.omit(x))) # データ数、NAなし
sapply(dat, function(x) sum(is.na(x))) # NAの数
sapply(dat, function(x) mean((na.omit(x)-mean(na.omit(x)))^3)/(sd(na.omit(x))^3)) # 歪度。データにNAがあった場合、省いて計算したいできた
sapply(dat, function(x) mean((na.omit(x)-mean(na.omit(x)))^4)/(sd(na.omit(x))^4)) # 尖度。上に同じ
sapply(dat, function(x) sqrt(var(na.omit(x))*(length(na.omit(x))-1)/length(na.omit(x)))) # 標本標準偏差
sapply(dat, function(x) var(na.omit(x))*(length(na.omit(x))-1)/length(na.omit(x))) # 標本分散。#なぜかわからんがvarは因子変数にも適用できるようだ
   # var(x, na.rm=T) でも同じ

グループ別の統計量
aggregate(iris[1:4], iris[5], mean, na.rm = T)

その他
rowMeans(dat, na.rm=TRUE) # 行ごとの平均、NAを抜く
rowSums(dat, na.rm=TRUE) # 行ごとの合計、NAを抜く
apply(dat, 1, function(x) sum(is.na(x))) #行ごとのNA数  
sum(complete.cases(dat)) # データフレーム全体で欠損値の無いケース数を調べる
sum((na.omit(x)-mean(na.omit(x)))^2) # 平方和
PR
Comment
Trackback
Trackback URL

Comment form
Title
Color & Icon Vodafone絵文字 i-mode絵文字 Ezweb絵文字  
Comment
Name
Mail
URL
Password
プロフィール
HN:
tao
HP:
性別:
非公開
職業:
会社員
趣味:
アウトドア、自転車、ジョギング、英語学習
自己紹介:
・千葉在住のサラリーマンです。データ分析っぽいことが仕事。
・今年英検1級取得。今はTOEIC高得点を目指して勉強中。
・興味のあることは野球、アウトドア、英語学習、統計、プログラミング、PC関係などなど。
ブログ内検索
freead
順位表
プロ野球データFreak
セリーグ順位表
パリーグ順位表