R语言描述性统计函数2021.3.7

2021-03-10  本文已影响0人  R语言_茶味先生

1. summary函数

返回这四列数据的最大最小值,中位数,以及四分位数和四分之三位数

mycars<-mtcars[,c("mpg","hp","wt","am")]#取出四列
summary(mycars)#返回这四列数据的最大最小值,中位数,以及四分位数和四分之三位数
图1 summary描述统计量

2. fivenum函数

fivenum(mycars$mpg)#返回某列数据的最大最小值,中位数,以及四分位数和四分之三位数
图2 fivenum函数描述统计量

3. describe函数

返回这四列数据的前五个最大最小值,中位数,以及四分位数和四分之三位数,缺失值的个数,行数(Observation),列数(Variables)

install.packages("Hmisc")
library(Hmisc)#第一次使用可能还要加载"lattice","survival","Formula","ggplot2"这些包
describe(mycars)
图3 describe函数描述统计量

4. stat.desc函数

返回这四列数据的全部值的数量,空值,缺失值的数量,最大最小值,求和的值,中位数,均值,方差等

install.packages("pastecs")
library(pastecs)
stat.desc(mycars)
图4 stat.desc函数描述统计量

5. psych包中的describe函数

需要说明的是psych包中的describe函数与Hmisc包的同名,R语言的处理原则是后入为主——同名函数调用后是默认是后载入的包里的函数。虽说如此,但是遇到同名包时还是用包名::函数名即可。
返回这四列数据的全部值的数量,最大最小值,求和的值,中位数,均值,方差等,trimmed列是计算去除最大最小值后的均值。trim的值用来指定要去除的最大值和最小值的比例。

install.packages("psych")
library(psych)
describe(myvars)
#describe(mycars,trim = 0.1)#去除占总体数据的10%个最大和最小值之后再计算平均数
图5 psych包中的describe函数描述统计量

6. 分组统计

aggregate函数和summaryBy函数都只能描述单一的统计量

6.1 aggregate函数

分组统计时用aggregate函数进行统计描述

library(MASS)
Cars93
aggregate(Cars93[c("Min.Price","Price","Max.Price","MPG.city")],by=list(Manufacturer=Cars93$Manufacturer),mean)
#对生产商进行分组后求Min.Price,Price,Max.Price,MPG.city的均值,见图6
#aggregate(Cars93[c("Min.Price","Price","Max.Price","MPG.city")],by=list(Cars93$Origin),mean)
#对车辆来源进行分组后求Min.Price,Price,Max.Price,MPG.city的均值,见图7
#aggregate(Cars93[c("Min.Price","Price","Max.Price","MPG.city")],by=list(Manufacturer=Cars93$Manufacturer),sd)
#对生产商进行分组后求Min.Price,Price,Max.Price,MPG.city的标准差,见图8
#aggregate(Cars93[c("Min.Price","Price","Max.Price","MPG.city")],by=list(Cars93$Origin),sd)
#对车辆来源进行分组后求Min.Price,Price,Max.Price,MPG.city的标准差,见图9
#aggregate(Cars93[c("Min.Price","Price","Max.Price","MPG.city")],by=list(Origin=Cars93$Origin,Manufacturer=Cars93$Manufacturer),mean)
#对车辆来源和生产商进行分组后求Min.Price,Price,Max.Price,MPG.city的均值,见图10
图6 aggregate函数生产商分组统计均值
图7 aggregate函数车辆来源分组统计均值
图8 aggregate函数生产商分组统计标准差
图9 aggregate函数车辆来源分组统计标准差
图10 aggregate函数车辆来源和生产商分组统计均值

6.2 summaryBy函数

安装doBy包

install.packages("doBy")
library(doBy)
summaryBy(mpg+hp+wt~am,data=mycars,FUN=mean)#求均值,波浪号左边是待计算的变量,右边是类别型的分组变量
图11 summaryBy函数分组描述统计量

6.3 describeBy函数

是psych包中的函数

install.packages("psych")
library(psych)
describeBy(mycars,list(am=mycars$am))#求多个统计值,list指明要进行分组的列
图12 describeBy函数分组描述统计量
上一篇下一篇

猜你喜欢

热点阅读