数据的分布特征:

  • 分布的集中趋势,反应各数据向其中心值靠拢或聚集的程度(平均数,中位数,四分位数,众数)
  • 分布的离散程度,反应各数据远离其中心值的趋势(极差,四分位差,方差,标准差,离散系数)
  • 分布的形状,反应数据分布的偏斜程度和峰度(偏态系数,峰度系数)

#######################

平均数(均值):一组数据相加后除以数据的个数而得到结果,称为平均数(mean)

中位数:一组数据排序后处于中间位置上的变量值,称为中位数(median)

四分位数:一组数据排序后处于25%(下四分位数)和75%(上四分位数)位置上的值,称为四分位数

  • 先计算位置,然后计算四分位数的值。50%处即为中位数

众数:一组数据中出现频数最多的数值(mode)

#######################

极差(全距):一组数据的最大值与最小值之差,称为极差(range)

四分位差:上四分位数与下四分位数之差,称为四分位差

平均差:各变量值与其平均数离差绝对值的平均数,称为平均差

方差:各变量值与其平均数离差平方的平均数,称为方差(variance)

标准差:方差的平方根称为标准差()

离散系数

########################

偏态:数据分布的不对称性,称为偏态

峰态:数据分布的平峰或尖峰程度,称为峰态

#########################

描述性统计量:主要包括分布的集中程度,分布的离散程度和分布的偏斜程度。

方法一:summary()函数——最大值,最小值,四分位数(上,下),均值

summary(mtcars) #结果有以下几条

4分位数 r语言 r语言四分位数算法_方差

1 vars<-c('mpg','hp','wt')
2 head(mtcars[vars])

4分位数 r语言 r语言四分位数算法_4分位数 r语言_02

summary(mtcars[vars])

4分位数 r语言 r语言四分位数算法_方差_03

方法二: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)

4分位数 r语言 r语言四分位数算法_中位数_04

方法三:通过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])

以上方法都是为整体的数据计算描述性统计量