《R语言与农业数据统计分析及建模》学习——描述性统计分析

一、描述性统计概念和方法

1、概念和作用

        描述性统计是对数据进行概括和描述,便于理解数据的特征、趋势和分布,帮助我们了解数据基本情况和总体特征,为后续更深入的数据分析和建模提供基础。

2、基础方法

(1)中心趋势度量

        数据的中心趋势度量是描述性统计中的一类指标,用于衡量数据的集中程度。

        常见的中心趋势度量包括:平均值(mean)、中位数(median)和众数(mode)

# 利用内置数据集iris进行平均数的计算
# 计算平均值
mean(iris$Sepal.Length)
# 计算中位数
median(iris$Sepal.Length)
# 计算众数
# 基础包中没有提供众数的计算函数,需用自编函数进行计算
get_mode<-function(v){uniqv<-unique(v)uniqv[which.max(tabulate(match(v,uniqv)))]
}
get_mode(iris$Sepal.Length)

(2)中心趋势可视化

        数据的中心趋势度量是描述性统计中的一类指标,用于衡量数据的集中程度。常用的可视化方法包括直方图、箱线图和密度图。

# 导入ggplot2包
library(ggplot2)
# 导入gridExtra包
library(gridExtra)
# 绘制直方图
p1<-ggplot(data=iris,aes(x=Sepal.Length))+geom_histogram(binwidth = 0.1,color="black",fill="lightblue"
)+labs(title = "直方图-萼片长度",x="萼片长度",y="频数"
)
# 绘制箱线图
p2<-ggplot(iris,aes(x="",y=Sepal.Length))+geom_boxplot(fill="lightgreen",color="black"
)+labs(title='箱线图-萼片长度',x="",y="萼片长度"
)
# 绘制密度图
p3<-ggplot(iris,aes(x=Sepal.Length))+geom_density(fill='pink',color='black'
)+labs(title = "密度图-萼片长度",x="萼片长度",y="密度"
)
# 图表拼接
grid.arrange(p1,p2,p3,ncol=3)

(3)离散程度度量

        数据的离散程度度量用于衡量数据的分散程度或变异程度。常见的离散程度度量包括方差、标准差、极差和四分位差。

# 计算方差和标准差
var(iris$Sepal.Length)
sd(iris$Sepal.Length)
# 计算极差
max(iris$Sepal.Length)-min(iris$Sepal.Length)
# 计算四分位差
q1<-quantile(iris$Sepal.Length,0.25)
q3<-quantile(iris$Sepal.Length,0.75)
q3-q1

(4)离散程度可视化

        数据离散程度的可视化常用方法有:散点图、箱线图。

# 绘制散点图
ggplot(iris,aes(x="",y=Sepal.Length))+geom_jitter(shape=16,size=3,color="darkblue"
)+labs(title="散点图-萼片长度",x="",y="萼片长度"
)

(5)数据的分布形状度量

        是指通过统计量或图形来描述数据分布的形状特征。常用的分布形状度量包括偏度(skewness)和偏度(kurtosis)。

# 安装moments包
install.packages("moments")
# 加载moments包
library(moments)
skewness(iris$Sepal.Length)
kurtosis(iris$Sepal.Length)

二、一站式描述统计函数

1、summary()函数

        基础包中的summary()函数提供最小值、最大值、四分位数和数值型变量的均值,以及因子向量和逻辑性向量的频数统计

# 每加仑汽油形式英里数(mpg)、马力(hp)、车重(wt)
vars<-c('mpg','hp','wt')
# 展示部分数据
head(mtcars[vars])
# 应用summary()函数
summary(mtcars[vars])

2、sapply()函数

        sapply()函数计算自定义的任意描述性统计量。

# 使用sapply()函数自定义描述性统计分析
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))
}
sapply(mtcars[vars],mystats)

3、Hmisc包中的describe()函数

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

# 下载Hmisc包
install.packages("Hmisc")
# 加载Hmisc包
library(Hmisc)
# 应用describe()函数
describe(mtcars[vars])

4、pastecs包的stat.desc()函数

        此函数可以计算种类繁多的描述性统计量。

install.packages("pastecs")
# 加载pastecs包
library(pastecs)
# 应用stat.desc()函数
stat.desc(mtcars[vars])

5、psych包的describe()函数

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

install.packages("psych")
# 加载psych包
library(psych)
# 应用describe函数
describe(mtcars[vars])

6、explore包中的explore()函数

        此函数能够实现交互式数据探索。

install.packages("dplyr")
install.packages("explore")library(dplyr)
library(explore)
explore(mtcars[vars])

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/2950.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

npm、yarn与pnpm详解

&#x1f525; npm、yarn与pnpm详解 &#x1f516; 一、npm &#x1f50d; 简介&#xff1a; npm是随Node.js一起安装的官方包管理工具&#xff0c;它为开发者搭建了一个庞大的资源库&#xff0c;允许他们在这个平台上搜索、安装和管理项目所必需的各种代码库或模块。 &#…

CountDownLatch源码分析

1.创建 CountDownLatch latch new CountDownLatch(5); 2.latch.countDown(); 将count执行减一操作&#xff0c;当count为0时&#xff0c;等待中的线程会被唤醒 SIGNAL (值为-1)&#xff1a; 表示后继节点需要被唤醒。当一个节点释放锁的时候&#xff0c;会唤醒它的后继节点…

openjudge_2.5基本算法之搜索_1998:寻找Nemo

题目 1998:寻找Nemo 总时间限制: 2000ms 内存限制: 65536kB 描述 Nemo 是个顽皮的小孩. 一天他一个人跑到深海里去玩. 可是他迷路了. 于是他向父亲 Marlin 发送了求救信号.通过查找地图 Marlin 发现那片海像一个有着墙和门的迷宫.所有的墙都是平行于 X 轴或 Y 轴的. 墙的厚度可…

2010-2023年“国家级大数据综合试验区”试点城市DID匹配数据

2010-2023年国家级大数据综合试验区试点城市DID匹配数据 1、时间&#xff1a;2010-2023年 2、来源&#xff1a;国家发展改革委、工业和信息化部、ZY网信办发函批复的试验区 3、指标&#xff1a;行政区划代码、年份、所属省份、地区、国家级大数据综合试验区、最早设立年份 …

ELK创建仪表盘

创建仪表盘步骤&#xff1a; 一、保存search二、生成饼图三、创建仪表盘 一、保存search 首先保存一段时间内的search&#xff0c;可以添加想要的字段&#xff0c;并保存这个search方便下次直接打开该search&#xff0c;并方便在可视化和仪表盘中使用该search. 二、生成饼图…

c++中的函数

一、函数概述 作用&#xff1a;将一段经常使用的代码封装起来&#xff0c;减少重复代码 一个较大的程序&#xff0c;一般分为若干个程序块&#xff0c;每个程序块实现特定功能。 二、函数的定义 函数定义主要有5个步骤&#xff1a; 返回值类型函数名参数列表函数体语句ret…

Laravel 6 - 第十二章 控制器

​ 文章目录 Laravel 6 - 第一章 简介 Laravel 6 - 第二章 项目搭建 Laravel 6 - 第三章 文件夹结构 Laravel 6 - 第四章 生命周期 Laravel 6 - 第五章 控制反转和依赖注入 Laravel 6 - 第六章 服务容器 Laravel 6 - 第七章 服务提供者 Laravel 6 - 第八章 门面 Laravel 6 - …

QService 服务 指令引用的“0x00000000”内存。该内存不能为“read“

QtServiceBase类在Qt框架中是设计用来简化Windows服务或类Unix守护进程创建的。这个类提供了一组方法和属性&#xff0c;使得开发者能够专注于服务逻辑&#xff0c;而不必担心操作系统层面的细节。下面是一些QtServiceBase类中常用的属性和方法&#xff1a; 常用方法 start():…

【Linux】Linux权限管理详解

&#x1f331;博客主页&#xff1a;青竹雾色间 &#x1f331;系列专栏&#xff1a;Linux &#x1f618;博客制作不易欢迎各位&#x1f44d;点赞⭐收藏➕关注 目录 1. Linux权限概念2. 文件访问者分类a) 文件和目录的访问者&#xff1a;b) 文件类型和访问权限 3. 文件权限值的表…

安装VCenter 7 对硬件资源的需求

安装VMware vCenter Server 7.x 对硬件资源的需求主要包括以下方面&#xff1a; 服务器硬件&#xff1a; 处理器&#xff1a;64位 x86架构&#xff0c;推荐采用多核CPU以支持高并发管理和运行多个虚拟机。具体数量取决于vCenter Server将管理的虚拟机规模及复杂度。内存&#x…

第四百七十七回

文章目录 1. 知识回顾2. 使用方法2.1 源码分析2.2 常用属性 3. 示例代码4. 内容总结 我们在上一章回中介绍了"Get包简介"相关的内容&#xff0c;本章回中将介绍GetMaterialApp组件.闲话休提&#xff0c;让我们一起Talk Flutter吧。 1. 知识回顾 我们在上一章回中已经…

K-近邻算法的 sklearn 实现

实验目的与要求 掌握基于 K-近邻分类算法的编程方法通过编程理解 K-近邻分类算法和该算法的基本步骤 实验器材 硬件&#xff1a;PC 机&#xff08;参与实验的学生每人一台&#xff09;软件环境&#xff1a;Python3.7 Pycharm 实验内容 使用 sklearn 库中的 neighbors 模块实…

xgp怎么取消续费 微软商店xgp会员取消自动续费详细教程

xgp怎么取消续费 微软商店xgp会员取消自动续费详细教程 XGP这个游戏平台小伙伴们并不陌生吧&#xff0c;它是微软Xbox游戏部门推出的游戏租赁制会员服务&#xff0c;主要用于主机和PC两个平台。这个平台的会员就可以免费享受多款大制作游戏&#xff0c;而且每个月还会自动更新…

Java中的运算符

运算符是用于数学函数、一些特殊的赋值语句和逻辑比较方面的特殊符号。 赋值运算符&#xff08;“”&#xff09; 赋值运算符是一个二元运算符&#xff08;即对两个操作数进行处理&#xff09;&#xff0c;功能是将右侧的操作数赋值给左侧的操作数。 int a 100; 该表达式就…

李廉洋:4.24-4.25现货黄金,WTI原油区间震荡,走势分析。

黄金消息面分析&#xff1a;金银近日回调。随着伊朗方面淡化以色列最新反击&#xff0c;中东地区局势没有进一步发酵下&#xff0c;风险溢价下降金银出现较大幅度调整。由于近期高于预期的通胀数据&#xff0c;降息预期持续降温。昨日疲软的美国PMI以及以色列在加沙攻击的加剧支…

宽字符的来历:从ASCII到Unicode,C语言中的宽字符处理

目录 一、ASCII编码&#xff1a;字符世界的开篇 二、Unicode与宽字符的诞生 宽字符类型与宽字符串 三、C语言中的宽字符处理函数 四、宽字符与多字节字符 结语 在计算机科学的发展历程中&#xff0c;字符编码经历了从简单到复杂、从单一语言到全球多语种支持的演变过程。…

【大模型应用极简开发入门(2)】GPT模型简史:从GPT-1到GPT-4:从小数据量的微调到大数据量的强化学习不断优化模型

文章目录 一. GPT-1&#xff1a;无监督与微调1. 在GPT-1之前的监督学习的问题2. GPT-1中新的学习过程-无监督的预训练3. 复杂任务下的微调4. GPT-1为更强大的模型铺平了道路 二. GPT-2&#xff1a;context learning1. 核心思想&#xff1a;context learning2. GPT-2的数据集 三…

Simulink从0搭建模型03-Enabled Subsystem 使能子系统

参考博客 b站视频 【Simulink 0基础入门教程 P4 使能子系统 Enabled Subsystem 的使用介绍】 个人听了这个博主的视频风格觉得很适合我入门学习&#xff0c;讲得很清楚。 另外&#xff0c;视频里面教得很详细了&#xff0c;我也不会再详细写怎么打开创建等步骤&#xff0c;跟着…

2024 证券从业资格证考试备考资料分享

2024 证券从业资格证考试备考资料分享 2024 年 06月1、2日 证券从业资格考试全国统一考试&#xff08;统考&#xff09;&#xff0c;预计将于5月初&#xff08;考前一个月&#xff09;左右开启报名 有没有小伙伴在准备备考的&#xff0c;不知道大家都准备怎么学习呢&#xff…

233 基于matlab的多通道非负矩阵分解(MNMF)算法

基于matlab的多通道非负矩阵分解&#xff08;MNMF&#xff09;算法。其能够寻找到一个非负矩阵W和一个非负矩阵H&#xff0c;满足条件VW*H,从而将一个非负的矩阵分解为左右两个非负矩阵的乘积。使用EM准则对混合信号进行分解。程序已调通&#xff0c;可直接运行。 233 多通道非…