描述性统计分析

 

  • summary()

计算最小值、最大值、四分位、数值型变量的均值,和因子向量和逻辑型向量的频数统计api

mt <- mtcars[c("mpg", "hp", "wt", "am")]
summary(mt)
  • apply()或sapply()

计算所选择的任意描述性统计量app

sapply(x,FUN,options)

x:是你的数据框(或矩阵)函数

FUN:为一个任意的函数spa

options:指定了options,他们将被传递给fFUNcode

mystats <- function(x, na.omit=FALSE){
  if (na.omit)
    x <- x[!is.na(x)]
  m <- mean(x)
  n <- length(x)
  s <- sd(x)
  skew <- sum((x-m)^3/s^3)/n
  kurt <- sum((x-m)^4/s^4)/n - 3
  return(c(n=n, mean=m, stdev=s, skew=skew, kurtosis=kurt))
}

myvars <- c("mpg", "hp", "wt")
sapply(mtcars[myvars], mystats)
  • stat.desc()

pastecs包中的stat.desc()函数,计算描述性统计,格式为:orm

stat.desc(x,basic = TRUE,desc =TRUE,norm=FALSE,p=0.95)

x:一个数据框或时间序列it

basic:=TRUE(默认值),则计算全部值、空值、缺失值的数量,以及最小值、最大值、值域,还有总和io

desc:=TRUE(默认值),则计算中位数、平均数、平均数的标准误、平均数置信度为95%的置信区间、方差、标准差以及变异系数ast

norm:=TRUE(非默认),返回正态分布统计量,包括偏度和峰度(以及她们的统计显著程度)和Shapiro-Wilk正态检验结果function

p:p值来计算平均数的置信区间(默认置信度为0.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()

计算非缺失值的数量、平均数、标准差、中位数、截尾均值、绝对中位差、最小值、最大值、值域、偏度、峰度、和平均值的标准误

library(psych)
myvars <- c("mpg", "hp", "wt")
describeBy(mtcars[myvars], list(am=mtcars$am))

psych包中有describe()而Hmisc包中也存在describe,若是被调用,则最后载入的程序包会被使用

  • Hmisc包中的describe()
library(Hmisc)
myvars <- c("mpg", "hp", "wt")
describe(mtcars[myvars])