数据的分布特征:
- 分布的集中趋势,反应各数据向其中心值靠拢或聚集的程度(平均数,中位数,四分位数,众数)
- 分布的离散程度,反应各数据远离其中心值的趋势(极差,四分位差,方差,标准差,离散系数)
- 分布的形状,反应数据分布的偏斜程度和峰度(偏态系数,峰度系数)
#######################
平均数(均值):一组数据相加后除以数据的个数而得到结果,称为平均数(mean)
中位数:一组数据排序后处于中间位置上的变量值,称为中位数(median)
四分位数:一组数据排序后处于25%(下四分位数)和75%(上四分位数)位置上的值,称为四分位数
- 先计算位置,然后计算四分位数的值。50%处即为中位数
众数:一组数据中出现频数最多的数值(mode)
#######################
极差(全距):一组数据的最大值与最小值之差,称为极差(range)
四分位差:上四分位数与下四分位数之差,称为四分位差
平均差:各变量值与其平均数离差绝对值的平均数,称为平均差
方差:各变量值与其平均数离差平方的平均数,称为方差(variance)
标准差:方差的平方根称为标准差()
离散系数:
########################
偏态:数据分布的不对称性,称为偏态
峰态:数据分布的平峰或尖峰程度,称为峰态
#########################
描述性统计量:主要包括分布的集中程度,分布的离散程度和分布的偏斜程度。
方法一:summary()函数——最大值,最小值,四分位数(上,下),均值
summary(mtcars) #结果有以下几条
1 vars<-c('mpg','hp','wt')
2 head(mtcars[vars])
summary(mtcars[vars])
方法二:sapply()函数 #
1 mystats<-function(x,na.omit=FALSE){
2 if(na.omit)
3 x<-x[!is.na(x)]
4 m<-mean(x)
5 n<-length(x)
6 s<-sd(x)
7 skew<-sum((x-m)^3/s^3)/n
8 kurt<-sum((x-m)^4/s^4)/n
9 return(c(n=n,mean=m,stdev=s,skew=skew,kurtosis=kurt))
10 }
11 sapply(mtcars[vars], mystats)
方法三:通过Hmisc包中的describe()函数——变量和观测的数量,缺失值和唯一值的数目、平均数,分位数,以及5个最大的值,和5个最小的值
1 library(Hmisc)
2 describe(mtcars[vars])
方法四:通过pastecs包中的stat.desc()函数计算描述性统计量
stat.desc(x,basic=TRUE,desc=TRUE,norm=FALSE,P=0.95)
x是一个数据框或时间序列。
basic=TRUE(默认值),则计算其中所有值、空值、缺失值的数量,以及最小值、最大值、值域,还有总和。
desc=TRUE(默认值),则计算中位数、平均数、平均数的标准误、平均数置信度为95%的置信区间、方差、标准差以及变异系数。
norm=TRUE(非默认),则返回正态分布统计量,包括偏度和峰度(以及它们的统计显著程度)和Shapiro–Wilk正态检验结果。
这里使用了p值来计算平均数的置信区间(默认置信度为0.95)。
1 library(pastecs)
2 stat.desc(mtcars[vars])
方法五:通过psych包中的describe()函数——非缺失值的数量、平均数、标准差、中位数、截尾均值、绝对中位差、最小值、最大值、值域、偏度、峰度和平均值的标准误
1 library(psych)
2 describe(mtcars[vars])
以上方法都是为整体的数据计算描述性统计量