R语言数据分析案例28-对数据集可视化和T检验

一、分析主题:

本分析旨在对数据集进行可视化和 T 检验,以探索数据集中的变量之间的关系和差异。通过可视化数据,我们可以直观地了解数据的分布和趋势,而 T 检验则可以帮助我们确定这些差异是否具有统计学意义。

二、具体分析

对一组数据,进行T-test,保存分析结果,并绘制柱状图

读取数据:

df <- read.csv("C:/Users/Administrator/Desktop/画图t检验r/penguins.csv")
df

# 执行 T 检验
# 对数据进行筛选,去除 sex 列中的缺失值
df1<-df[!is.na(df$sex), ]
t_test_result <- t.test(bill_length_mm ~ sex, data = df1)
t_test_result

 数据集和完整代码

选择 bill_length_mm 特征进行 T 检验,并根据 sex 列来进行分组。接下来,将保存分析结果并绘制柱状图来展示两组样本的 bill_length_mm 均值差异

df1 <- df[!is.na(df$sex), ]:这行代码的目的是创建一个新的数据框 df1,其中移除了 sex 列中的缺失值 NA。!is.na(df$sex) 用于判断 sex 列中是否存在缺失值,并使用 [ ] 筛选出不包含缺失值的行。

t_test_result <- t.test(bill_length_mm ~ sex, data = df1):这是执行 Student's t-test 的部分。t.test() 函数的参数是一个公式,bill_length_mm ~ sex 表示要比较的数值型变量是 bill_length_mm,而分组的因子是 sex。这里的 data = df1 指定了数据来源是 df1 数据框。

t_test_result:这行代码会打印出执行 Student's t-test 后的结果。结果中包含了 t 统计量的数值、p 值以及检验的置信区间等信息。

接下来可视化

# 绘制柱状图
ggplot(df1, aes(x = sex, y = bill_length_mm, fill = sex)) +
  geom_bar(stat = "summary", fun = "mean", position = "dodge") +
  labs(title = "Bill Length Comparison by Sex",
       x = "Sex", y = "Bill Length (mm)") +
  theme_minimal() +
  scale_fill_manual(values = c("male" = "blue", "female" = "red"))  # 自定义颜色

ggplot(df1, aes(x = sex, y = bill_length_mm, fill = sex)):使用 ggplot2 创建一个基础图形对象。df1 是数据框,aes() 函数中设置 x 轴为 sex,y 轴为 bill_length_mm,并根据 sex 进行分组。fill = sex 表示用性别进行填充。

geom_bar(stat = "summary", fun = "mean", position = "dodge"):添加柱状图层。stat = "summary" 表示用于计算统计摘要数据,fun = "mean" 表示用平均值来绘制柱状图。position = "dodge" 表示柱状图按性别分组并并列显示。

labs(title = "Bill Length Comparison by Sex", x = "Sex", y = "Bill Length (mm)"):添加图表的标题和坐标轴标签。

接下来选择 flipper_length_mm 特征进行单因素方差分析,并绘制相应的图表

anova_result 变量将包含ANOVA的分析结果,其中包括不同物种对 flipper_length_mm 的影响是否显著。如果想要查看ANOVA结果的具体信息,你可以直接打印 anova_result 变量,它将显示ANOVA分析的摘要信息。

ANOVA 结果通常包含 F 值、p 值以及其他统计指标

绘制箱线图叠加散点图

# 绘制箱线图叠加散点图
ggplot(df1, aes(x = species, y = flipper_length_mm, fill = species)) +
  geom_boxplot() +
  geom_jitter(position = position_jitter(width = 0.3), color = "black", size = 2) +
  labs(title = "Flipper Length Comparison by Species",
       x = "Species", y = "Flipper Length (mm)") +
  theme_minimal() +
  scale_fill_manual(values = c("Adelie" = "blue", "Biscoe" = "green", "Dream" = "red"))  # 自定义颜色

ggplot(df1, aes(x = species, y = flipper_length_mm, fill = species)):创建一个基础图形对象。df1 是数据框,aes() 函数中设置 x 轴为 species,y 轴为 flipper_length_mm,并根据 species 进行分组。fill = species 表示用不同的物种进行填充。 

三、小结

  1. 数据集可视化:通过绘制柱状图、折线图、箱线图等图表,我们可以直观地展示数据的分布和趋势。例如,柱状图可以用于比较不同类别之间的数量差异,折线图可以用于展示时间序列数据的变化趋势,箱线图可以用于展示数据的离散程度和异常值。可视化数据可以帮助我们发现数据中的模式和趋势,从而更好地理解数据。

  2. T 检验:T 检验是一种常用的统计方法,用于比较两个或多个样本的均值是否存在显著差异。通过计算 T 统计量和 P 值,我们可以确定这些差异是否具有统计学意义。在进行 T 检验时,我们需要确保样本的独立性、正态性和方差齐性。如果这些条件不满足,我们可能需要使用其他统计方法或进行数据转换。

通过对数据集进行可视化和 T 检验,我们可以更好地理解数据的分布和趋势,以及变量之间的关系和差异。这些分析结果可以为进一步的研究和决策提供参考。在进行数据分析时,我们应该根据数据的特点和研究目的选择合适的可视化方法和统计方法,并对结果进行合理的解释和讨论。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

pyrouge(ROUGE-1.5.5)的安装步骤和使用说明(适用于Linux 系统)

摘要&#xff1a;本文讲解了如何配置和使用文本摘要的评价指标ROUGE(linux 系统)。 ✅ NLP 研 1 选手的学习笔记 简介&#xff1a;小王&#xff0c;NPU&#xff0c;2023级&#xff0c;计算机技术 研究方向&#xff1a;摘要生成、大语言模型生成 文章目录 一、为啥要写这篇博客&…

uniapp 开发版小程序之间跳转

uni.navigateToMiniProgram({appId: urL,path: patH,envVersion: release,//我使用develop会给我返回&#xff1a;开发版小程序已过期&#xff0c;请在开发者工具重新扫码确定success(res) {console.log(res);// 打开成功uni.showToast({title: 跳转成功})},fail(err) {console…

【CS.AL】算法核心之贪心算法:从入门到进阶

文章目录 1. 概述2. 适用场景3. 设计步骤4. 优缺点5. 典型应用6. 题目和代码示例6.1 简单题目&#xff1a;找零问题6.2 中等题目&#xff1a;区间调度问题6.3 困难题目&#xff1a;分数背包问题 7. 题目和思路表格8. 总结References 1000.1.CS.AL.1.4-核心-GreedyAlgorithm-Cre…

Linux Source命令及脚本的执行方式解析

Linux Source命令及脚本的执行方式解析 当修改了/etc/profile文件&#xff0c;想让它立刻生效&#xff0c;而不用重新登录&#xff0c;这时就想到用source命令&#xff0c;如:source /etc/profile source命令&#xff1a; 也称为“点命令”&#xff0c;也就是一个点符号&…

显著提高iOS应用中Web页面的加载速度 - 提前下载页面的关键资源(如JavaScript、CSS和图像)

手动下载并缓存资源是一种有效的方式&#xff0c;可以确保在需要时资源已经在本地存储&#xff0c;这样可以显著提高加载速度。 缓存整个 web 页面的所有资源文件 具体实现步骤 下载和缓存资源&#xff1a;包括 HTML 文件、CSS、JavaScript 和图像。在应用启动时预加载资源。…

鸿蒙 游戏来了 鸿蒙版 五子棋来了 我不允许你不会

团队介绍 作者:徐庆 团队:坚果派 公众号:“大前端之旅” 润开鸿生态技术专家,华为HDE,CSDN博客专家,CSDN超级个体,CSDN特邀嘉宾,InfoQ签约作者,OpenHarmony布道师,电子发烧友专家博客,51CTO博客专家,擅长HarmonyOS/OpenHarmony应用开发、熟悉服务卡片开发。欢迎合…

【复旦邱锡鹏教授《神经网络与深度学习公开课》笔记】梯度的反向传播算法

矩阵微积分&#xff08;Matrix Calculus&#xff09; 在开始之前&#xff0c;需要先了解矩阵微积分的一些计算规则。 首先&#xff0c;对于矩阵微积分的表示&#xff0c;通常由两种符号约定&#xff1a; 分母布局 标量关于向量的导数为列向量 向量关于标量的导数为行向量 N维…

如何应对pcdn的流量攻击?

面对PCDN的流量攻击&#xff0c;可以采取以下措施来应对&#xff1a; 一&#xff0e;配置防火墙&#xff1a; 1.禁止未授权的PCDN域名访问&#xff1a;根据网络需求&#xff0c;配置防火墙规则&#xff0c;只允许特定的PCDN域名进行访问&#xff0c;从而防止未经授权的PCDN节…

shell编程基础(第16篇:命令是什么?有哪些注意事项)

前言 前面我们已经使用过各种各样的命令&#xff0c;那么命令到底是什么呢&#xff1f;我们又该怎么理解该术语&#xff1f; 什么是命令&#xff1f; 命令是command的中文翻译&#xff0c;能在命令行中执行的是命令。因为早期的计算机只有文字界面&#xff0c;命令是程序&#…

【Kafka】Kafka生产者-04

【Kafka】Kafka生产者-04 1. 生产者发送消息流程1.1 发送原理 2. 相关文档 1. 生产者发送消息流程 1.1 发送原理 在消息发送的过程中&#xff0c;涉及到了两个线程——main 线程和 Sender 线程。 在 main 线程中创建了一个双端队列 RecordAccumulator。 main 线程将消息发送给…

CSS实现经典打字小游戏《生死时速》

&#x1f33b; 前言 CSS 中有这样一个模块&#xff1a;Motion Path 运动模块&#xff0c;它可以使元素按照自定义的路径进行移动。本文将为你讲解这个模块属性的使用&#xff0c;并且利用它实现我小时候电脑课经常玩的一个打字游戏&#xff1a;金山打字的《生死时速》。 &…

【免费Web系列】大家好 ,今天是Web课程的第二一天点赞收藏关注,持续更新作品 !

这是Web第一天的课程大家可以传送过去学习 http://t.csdnimg.cn/K547r 员工管理 1. 条件分页查询 1.1 概述 在页面原型中&#xff0c;我们可以看到在查询员工信息列表时&#xff0c;既需要根据条件动态查询&#xff0c;还需要对查询的结果进行分页处理。 那要完成这个页面…

计算机组成原理历年考研真题对应知识点(计算机系统层次结构)

目录 1.2计算机系统层次结构 1.2.2计算机硬件 【命题追踪——冯诺依曼计算机的特点(2019)】 【命题追踪——MAR 和 MDR 位数的概念和计算(2010、2011)】 1.2.3计算机软件 【命题追踪——三种机器语言的特点(2015)】 【命题追踪——各种翻译程序的概念(2016)】 1.2.5计算…

四十五、openlayers官网示例Icon modification解析——在地图上添加标记图形并随意移动它的位置

官网demo地址&#xff1a; Icon modification 这篇讲了如何随意移动地图上的矢量点。 先在地图上添加一个矢量点&#xff0c;其中anchorXUnits 和 anchorYUnits: 指定锚点的单位。fraction 表示相对于图标的宽度&#xff08;0到1之间&#xff09;&#xff0c;pixels 表示以像素…

关于Unity四种合批技术详解

文章目录 一.静态合批(StaticBatching)1.启用静态合批2.举例说明3.静态合批的限制4.静态合批的优点缺点5.动态指定物品合批 二.动态合批(Dynamic Batching)1.启用动态合批2.合批规则3.举例说明4.使用限制 三.GPU Instancing1.启用GPU Instancing2.启用限制3.举例说明 四.SRP Ba…

【面试干货】ArrayList、Vector、LinkedList的存储性能和特性比较

【面试干货】ArrayList、Vector、LinkedList的存储性能和特性比较 1、ArrayList1.1 存储性能1.2 特性1.3 示例用法 2、Vector2.1 存储性能2.2 特性2.3 示例用法 3、LinkedList3.1 存储性能3.2 特性3.3 示例用法 4、ArrayList、Vector、LinkedList用法总结 &#x1f496;The Beg…

Java数据库编程

引言 在现代应用开发中&#xff0c;与数据库交互是不可或缺的一部分。Java提供了JDBC&#xff08;Java Database Connectivity&#xff09; API&#xff0c;允许开发者方便地连接到数据库并执行SQL操作。本文将详细介绍Java数据库编程的基础知识&#xff0c;包括JDBC的基本概念…

AI金融投资:批量下载深交所公募REITs公开说明书

打开深交所公募REITs公开说明书页面&#xff0c;F12查看网络&#xff0c;找到真实地址&#xff1a;https://reits.szse.cn/api/disc/announcement/annList?random0.3555675437003616 { "announceCount": 39, "data": [ { "id": "80bc9…

循环订单激励:打造企业增长新引擎

循环订单激励&#xff1a;打造企业增长新引擎 在当今竞争激烈的商业环境中&#xff0c;许多企业都在寻求独特而高效的营销策略以吸引并留住客户。今天&#xff0c;我要为您介绍的是一种名为“循环订单激励”的新颖模式&#xff0c;它不仅能提升客户参与度&#xff0c;还能为企…