sapply( )函数
r语言中summary()函数提供了最小值、最大值、四分位数和数值型变量的均值,以及因子向量和逻辑性向量的频数统计(之前的文章中以及提及)
sapply(x, FUN, options)函数中x是选择的数据框(矩阵),fun为任意的函数,后边可选项
来看一个栗子吧
mystats<-function(x,na.omit=FALSE){ #定义一个函数,其中自变量为x,这里选择不忽视缺失值;
if(na.omit)
x<-x[!is.na(x)] #比如说x=c(2,NA,4),执行这一段代码之后,结果就是x=c(2,4);
m<-mean(x) #x的均值
n<-length(x) #长度
s<-sd(x) #标准差
skew<-sum((x-m)^3/s^3)/n #峰度值
kurt<-sum((x-m)^4/s^4)/n #偏度值
return(c(n=n,mean=m,stdev=s,skew=skew,kurtosis=kurt)) #返回值
}
myvars<- c("mpg","hp","wt") #以字符形式输出
sapply(mtcars[myvars],mystats) #第一个变量为数据,第二个内容为暂定的函数
*输出的结果如下所示:
mpg hp wt
n 32.000000 32.0000000 32.0000000
mean 20.090625 146.6875000 3.2172500
stdev 6.026948 68.5628685 0.9784574
skew 0.610655 0.7260237 0.4231465
kurtosis 2.627234 2.8644489 2.9772892
describe( )函数
hmisc包中的describe( )函数课返回变量和观测的数量、缺失值和唯一值的数目、平均值、分位数,以及5个最大值和5个最小值。
来看一个栗子吧
温馨提示:这里需要大家安装packages,如有需要,请访问https://cran.r-project.org/,然后按照需要进行安装。
安装格式 install.pachages("包名称"),建议大家将下载的包直接放入R的library中,这是需要建立关联的,便于管理和调用。
调用的时候,使用 library(包名称) 即可
library(Hmisc)
myvars<- c("mpg","hp","wt")
describe(mtcars[myvars])
mtcars[myvars] #输出结果,如下图:
pastecs包(需要安装奥)中有一个名为stat.desc()的函数,它可以计算种类繁多的描述性统计量,格式为:
stat.desc(x, basic=TRUE,desc=TRUE,norm=FALSE, P=0.95) #一般默认相关的设置就行,重点是写入变量x;
stat.desc()只要描述的数据框或者时间序列的所有值、空值、缺失值的数量,以及最小值、最大值、值域,还有总和。同时还包括均值、中位数、标准误、平均数值信度为95%的置信区间、方差、标准差以及变异系数等。
来看一个栗子吧
library(pastecs)
myvars <- c("mpg","hp","wt")
stat.desc(mtcars[myvars])
mpg hp wt
nbr.val 32.0000000 32.0000000 32.0000000
nbr.null 0.0000000 0.0000000 0.0000000
nbr.na 0.0000000 0.0000000 0.0000000
min 10.4000000 52.0000000 1.5130000
max 33.9000000 335.0000000 5.4240000
range 23.5000000 283.0000000 3.9110000
sum 642.9000000 4694.0000000 102.9520000
median 19.2000000 123.0000000 3.3250000
mean 20.0906250 146.6875000 3.2172500
SE.mean 1.0654240 12.1203173 0.1729685
CI.mean.0.95 2.1729465 24.7195501 0.3527715
var 36.3241028 4700.8669355 0.9573790
std.dev 6.0269481 68.5628685 0.9784574
coef.var 0.2999881 0.4674077 0.3041285
朋友们,除了上述的描述方法外,还有psych包中的describe()函数也是可以的,有兴趣的可以尝试下奥!O(∩_∩)O哈哈~