文 / 李 博
描述性统计分析
频数表和列联表
相关系数和协方差
t检验
非参数统计
7.1描述性统计分析
> myvars
> head(mtcars[myvars])#返回mtcars数据集中的三类
mpg hp wt
Mazda RX4 21.0 110 2.620
Mazda RX4 Wag 21.0 110 2.875
Datsun 710 22.8 93 2.320
Hornet 4 Drive 21.4 110 3.215
Hornet Sportabout 18.7 175 3.440
Valiant 18.1 105 3.460
7.1.1
通过 summary() 计算描述性统计量。
> myvars
> summary(mtcars[myvars])#获取描述下统计量:
mpg hp wt
Min. :10.40 Min. : 52.0 Min. :1.513
1st Qu.:15.43 1st Qu.: 96.5 1st Qu.:2.581
Median :19.20 Median :123.0 Median :3.325
Mean :20.09 Mean :146.7 Mean :3.217
3rd Qu.:22.80 3rd Qu.:180.0 3rd Qu.:3.610
Max. :33.90 Max. :335.0 Max. :5.424
> #包括最小值、最大值、四分位数和数值型变量的均值,
> #以及因子向量和逻辑型向量的频数统计。
通过 sapply() 计算描述性统计量。
sapply(x, FUN, options) 其中的 x 是你的数据框(或矩阵), FUN 为一个任意的函数。
> options(digits = 3)
> mystats
+ if(na.omit)
+ x
+ m
+ n
+ s
+ skew
+ kurt
+ return(c(n=n,mean=m,stdev=s,skew=skew,kurtosis=kurt))
+ }
> myvars
> sapply(mtcars[myvars],mystats)
mpg hp wt
n 32.000 32.000 32.0000
mean 20.091 146.688 3.2172
stdev 6.027 68.563 0.9785
skew 0.611 0.726 0.4231
kurtosis -0.373 -0.136 -0.0227
7.1.2
通过 Hmisc 包中的 describe() 函数计算描述性统计量
> library(Hmisc)
> myvars
> describe(mtcars[myvars])#变量和观测量、缺失值和唯一值得数目
#平均值、分位数和五个最大、五个最小的值
mtcars[myvars]
3 Variables #变量 32 Observations#观测量
----------------------------------------------------
mpg
n missing distinct Info Mean
32 0 25 0.999 20.09
Gmd .05 .10 .25 .50
6.796 12.00 14.34 15.43 19.20
.75 .90 .95
22.80 30.09 31.30
lowest : 10.4 13.3 14.3 14.7 15.0, highest: 26.0 27.3 30.4 32.4 33.9
----------------------------------------------------
hp
n missing distinct Info Mean
32 0 22 0.997 146.7
Gmd .05 .10 .25 .50
77.04 63.65 66.00 96.50 123.00
.75 .90 .95
180.00 243.50 253.55
lowest : 52 62 65 66 91, highest: 215 230 245 264 335
----------------------------------------------------
wt
n missing distinct Info Mean
32 0 29 0.999 3.217
Gmd .05 .10 .25 .50
1.089 1.736 1.956 2.581 3.325
.75 .90 .95
3.610 4.048 5.293
lowest : 1.513 1.615 1.835 1.935 2.140
highest: 3.845 4.070 5.250 5.345 5.424
----------------------------------------------------
通过 pastecs 包中的 stat.desc() 函数计算描述性统计量。
> options(digits = 3)
> library(pastecs)
> myvars
> stat.desc(mtcars[myvars])
mpg hp wt
nbr.val#所有值 32.00 32.000 32.000
nbr.null#空值 0.00 0.000 0.000
nbr.na#缺失值得数量 0.00 0.000 0.000
min#最小值 10.40 52.000 1.513
max#最大值 33.90 335.000 5.424
range#值域 23.50 283.000 3.911
sum#总和 642.90 4694.000 102.952
median#中位数 19.20 123.000 3.325
mean#平均数 20.09 146.688 3.217
SE.mean#平均数的标准误1.07 12.120 0.173
CI.mean.0.95平均数置信度95%的置信区间
2.17 24.720 0.353
var#方差 36.32 4700.867 0.957
std.dev#标准差 6.03 68.563 0.978
coef.var#变异系数 0.30 0.467 0.304
通过 psych 包中的 describe() 计算描述性统计量
> library(psych)
> myvars
> describe(mtcars[myvars])
vars n mean sd median trimmed mad min
mpg 1 32 20.09 6.03 19.20 19.70 5.41 10.40
hp 2 32 14