当前位置: 首页 > news >正文

R语言统计分析——描述性统计

参考资料:R语言实战【第2版】

1、整体统计

        对于R语言基础安装,可以使用summary()函数来获取描述性统计量。summary()函数提供了最小值、最大值、四分位数、中位数和算术平均数,以及因子向量和逻辑向量的频数统计。

myvars<-c("mpg","hp","wt")
summary(mtcars[myvars])

        但基础安装没有提供偏度和峰度的计算函数。需要我们自定义函数来进行运算。

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)/nkurt<-sum((x-m)^4/s^4)/n-3return(c(n=n,mean=m,stdev=s,skew=skew,kurtosis=kurt))
}
myvars<-c("mpg","hp","wt")
sapply(mtcars[myvars],mystats)

        Hmisc、pastecs和psych包中也都有计算描述性统计量的函数。首次使用前需要先行安装。

        Hmisc包中的describe()函数可返回变量和观测的数值、缺失值和唯一值的数目、平均值、分位数,以及5个最大的值和5个最小的值。

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

        pastecs包中的stat.desc()函数,可以计算种类繁多的描述性统计量。使用格式为:

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

其中x是一个数据框或时间序列。

若basic=TRUE,则计算其中所有值、空值、缺失值的数量,以及最小值、最大值、值域,还有总和。

若desc=TRUE,则计算中位数、平均数、平均数标准误、平均数置信度为参数p的置信区间、方差、标准差以及变异系数。

若norm=TRUE,则返回正态分布统计量,包括偏度和峰度(以及他们的统计显著程度)和Shaprio-Wilk正态检验结果。

library(pastecs)
myvars<-c("mpg","hp","wt")
stat.desc(mtcars[myvars])

        psych包也有一个名为describe()的函数,它可以计算非缺失值的数量、平均数、标准差、中位数、截尾平均数、绝对中位数、最小值、最大值、值域、偏度、峰度和平均值的标准误。

library(psych)
myvars<-c("mpg","hp","wt")
describe(mtcars[myvars])

2、分组统计

        在比较多组个体或观测时,关注的焦点经常是各组的描述性统计信息,而不是样本整体的描述性统计信息。我们可以使用aggregate()函数来分组获取描述性统计量。

myvars<-c("mpg","hp","wt")
aggregate(mtcars[myvars],by=list(am=mtcars$am),mean)
aggregate(mtcars[myvars],by=list(am=mtcars$am),sd)

        注意list(am=mtcars$am)的使用。如果使用的是list(mtcars$am),则am列将被标注为Group.1而不是am,不利于我们对分组数据的理解。

        aggregate()函数仅允许在每次调用中使用平均数、标准差这样的单返回值函数。要解决这个问题,我们可以使用by()函数,格式为:

        by(data,INDICES,FUN)

by(mtcars[myvars],mtcars$am,describe)

        doBy包中summaryBy()函数的使用格式为:

        summary(formula,data=dataframe,FUN=function)

其中formula接受以下格式:

        var1+var2+var3+...+varN~groupvar1+groupvar2+...+groupvarN

在~左侧的变量为需要统计分析的数值型变量,而~右侧的变量是类别型的分组变量。function可以是内建函数也可以是自编函数。

install.packages("doBy")
library(doBy)
summaryBy(mpg+hp+wt~am,data=mtcars,FUN=mystats)

        psych包中的describeBy()函数可以计算和describe()相同的统计量,只是按照一个或多个分组变量分层。但是,describeBy()函数不允许指定任意函数,所以它的普适性较低。若存在一个以上的分组变量,我们可以使用list(name1=groupvar1,name2=groupvar2,...,nameN=groupvarN)来表示它们,但这仅在分组变量交叉后不出现空白单元时有效。

library(psych)
describe(mtcars[myvars])
describeBy(mtcars[myvars],list(am=mtcars$am))

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • YUM软件包管理工具:更改YUM源、配置本地YUM仓库
  • 前端学习AI历程
  • 计算机基础(Windows 10+Office 2016)教程 —— 第8章 多媒体技术及应用
  • Cursor搭配cmake实现C++程序的编译、运行和调试
  • ScriptEcho:AI赋能的前端代码生成神器
  • HarmonyOS 与 OpenHarmony 的区别详解
  • 【C++程序设计】——利用数组处理批量数据(二)
  • 前端低代码必备:FrontendBlocks 4.0版本重磅发布,助力Uniapp-X原生APP开发
  • ChatGPT能代替网络作家吗?
  • 主题巴巴WordPress主题合辑打包下载+主题巴巴SEO插件
  • 深入理解接口测试:实用指南与最佳实践(一) 环境安装
  • Vue学习指南
  • 洛谷 P1347 排序(福建省历届夏令营)(图论:拓扑排序)
  • 暂存篇:高频面试题基本总结回顾(含笔试高频算法整理)
  • windows中node版本的切换(nvm管理工具),解决项目兼容问题 node版本管理、国内npm源镜像切换(保姆级教程,值得收藏)
  • 《网管员必读——网络组建》(第2版)电子课件下载
  • 【每日笔记】【Go学习笔记】2019-01-10 codis proxy处理流程
  • 8年软件测试工程师感悟——写给还在迷茫中的朋友
  • httpie使用详解
  • iOS编译提示和导航提示
  • learning koa2.x
  • PhantomJS 安装
  • text-decoration与color属性
  • 阿里云应用高可用服务公测发布
  • 产品三维模型在线预览
  • 开放才能进步!Angular和Wijmo一起走过的日子
  • 聊聊flink的TableFactory
  • 排序算法学习笔记
  • 如何抓住下一波零售风口?看RPA玩转零售自动化
  • 腾讯视频格式如何转换成mp4 将下载的qlv文件转换成mp4的方法
  • 无服务器化是企业 IT 架构的未来吗?
  • 用Visual Studio开发以太坊智能合约
  • 《天龙八部3D》Unity技术方案揭秘
  • ​软考-高级-信息系统项目管理师教程 第四版【第23章-组织通用管理-思维导图】​
  • # Swust 12th acm 邀请赛# [ A ] A+B problem [题解]
  • #【QT 5 调试软件后,发布相关:软件生成exe文件 + 文件打包】
  • #if 1...#endif
  • #我与Java虚拟机的故事#连载03:面试过的百度,滴滴,快手都问了这些问题
  • #我与Java虚拟机的故事#连载13:有这本书就够了
  • $(this) 和 this 关键字在 jQuery 中有何不同?
  • $forceUpdate()函数
  • (1)虚拟机的安装与使用,linux系统安装
  • (2024)docker-compose实战 (9)部署多项目环境(LAMP+react+vue+redis+mysql+nginx)
  • (AngularJS)Angular 控制器之间通信初探
  • (CPU/GPU)粒子继承贴图颜色发射
  • (C语言)strcpy与strcpy详解,与模拟实现
  • (java版)排序算法----【冒泡,选择,插入,希尔,快速排序,归并排序,基数排序】超详细~~
  • (Spark3.2.0)Spark SQL 初探: 使用大数据分析2000万KF数据
  • (编程语言界的丐帮 C#).NET MD5 HASH 哈希 加密 与JAVA 互通
  • (附源码)springboot炼糖厂地磅全自动控制系统 毕业设计 341357
  • (论文阅读40-45)图像描述1
  • (免费领源码)python#django#mysql公交线路查询系统85021- 计算机毕业设计项目选题推荐
  • (学习日记)2024.02.29:UCOSIII第二节
  • (转)fock函数详解
  • (转)Oracle 9i 数据库设计指引全集(1)