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

news2025/4/21 20:03:02

一、分析主题:

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

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

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

相关文章

【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…

ATF是如何完成双系统切换的?

ATF&#xff08;Arm Trusted Firmware&#xff09;是一个用于ARM架构处理器的可信固件&#xff0c;它最初提供的最主要的功能就是&#xff1a;双系统切换和电源管理。 那么如何进行双系统切换呢&#xff0c;在双系统切换的示例中&#xff0c;除了CPU的跳转&#xff0c;例如CPU…

【面试干货】Java集合类详解:List、Set、Queue、Map、Stack的特点与用法

【面试干货】Java集合类详解&#xff1a;List、Set、Queue、Map、Stack的特点与用法 1、Map1.1 特点1.2 用法1.3 常见的实现类 2、Set2.1 特点2.2 用法2.3 常见的实现类 3、List3.1 特点3.2 用法3.3 常见的实现类 4、Queue4.1 特点4.2 用法4.3 常见的实现类 5、Stack5.1 特点5.…

瀑布流布局:图片浏览页面

目录 任务描述 相关知识 HTML(HyperText Markup Language) 瀑布流布局&#xff1a; 题目 任务描述 在本关中&#xff0c;你的任务是理解瀑布流布局&#xff0c;以展示多张图片。瀑布流布局使得图片能够按照设定的列数依次排列&#xff0c;每列的高度会根据图片的高度自动调…

【单片机毕业设计选题24007】-基于STM32和阿里云的家庭健康数据监测系统

系统功能: 本课题设计是基于STM32单片机作为控制主体&#xff0c;通过HX711称重模块&#xff0c;HC-SR04超声波测距模块&#xff0c;红外测温&#xff0c;心率传感器等模块通过I2C或SPI接口与STM32进行通信&#xff0c;并读取传感器输出的身高&#xff0c;体重&#xff0c;心率…

一年前 LLM AGI 碎片化思考与回顾系列④ · 从System2→Post-training的疑虑和思考

阅读提示&#xff1a; 本篇系列内容的是建立于自己过去一年在以LLM为代表的AIGC快速发展浪潮中结合学术界与产业界创新与进展的一些碎片化思考并记录最终沉淀完成&#xff0c;在内容上&#xff0c;与不久前刚刚完稿的那篇10万字文章 「融合RL与LLM思想&#xff0c;探寻世界模型…

B+索引的分裂及选择率和索引基数

1、B树索引的分裂 B树索引页的分裂并不总是从页的中间记录开始&#xff0c;这样可能会导致页空间的浪费。 例子 比如下面这个记录&#xff1a; 1、2、3、4、5、6、7、8、9 由于插入是以自增的顺序进行的&#xff0c;若这时插入第10条记录然后进行页的分裂操作&#xff0c;那…

QChar转换为Unicode,判断数字、字母、符号、标点

实现 QChar转换为Unicode&#xff0c;判断数字、字母、符号、标点等 #include "widget.h" #include "ui_widget.h" #include "QMessageBox"widget::widget(QWidget *parent): QWidget(parent), ui(new Ui::widget) {ui->setupUi(this); }widg…

Java 网站开发入门指南:如何用java写一个网站

Java 网站开发入门指南&#xff1a;如何用java写一个网站 Java 作为一门强大的编程语言&#xff0c;在网站开发领域也占据着重要地位。虽然现在 Python、JavaScript 等语言在网站开发中越来越流行&#xff0c;但 Java 凭借其稳定性、可扩展性和丰富的生态系统&#xff0c;仍然…

TF-IDF算法详细介绍

TF-IDF&#xff08;Term Frequency-Inverse Document Frequency&#xff09;是一种用于信息检索和文本挖掘的统计方法&#xff0c;旨在评估一个词在文档集合或语料库中的重要性。它是计算机科学和文本分析中最常用的特征提取技术之一。本文将详细介绍TF-IDF的基本概念、计算方法…

CentOS7.9 安装jdk17

切换到目录 /usr/local/src cd /usr/local/src下载压缩包 wget https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.tar.gz解压 tar -zxvf jdk-17_linux-x64_bin.tar.gz添加环境变量 vim /etc/profile重加载环境变量 export JAVA_HOME/usr/local/usr/jdk-1…

AI影像时代来临,联发科天玑以专业无畏精神重新定义手机专业影像

近期&#xff0c;联发科与Discovery探索频道联合举办了一场以“越极境&#xff0c;见芯境”为主题的天玑影像展&#xff0c;活动地点位于我国桂林阳朔。活动现场展示了阳朔壮美山水的画卷&#xff0c;以及救援队员在岩壁上进行训练的极限瞬间。令人意想不到的是&#xff0c;这些…

DockerHub无法访问,国内镜像拉取迂回解决方案

无法访问后&#xff0c;主要存在以下几个问题&#xff1a; 无法进行镜像的搜索无法查看镜像相关的使用说明无法直接拉取镜像 对于第二点&#xff0c;目前没啥解决思路&#xff0c;主要针对第一点和第三点。 解决无法搜索镜像 目前仅可以解决部分问题&#xff0c;在知道镜像名…

基于 Redis 实现分布式缓存

一、单节点 Redis 的问题 1.1 存在的问题 1、数据丢失问题&#xff1a;Redis 是内存存储&#xff0c;服务重启可能会丢失数据。 2、并发能力问题&#xff1a;单节点 Redis 并发能力虽然不错&#xff0c;但也无法满足如 618 这样的高并发场景。 3、故障恢复问题&#xff1a;如果…

小白跟做江科大32单片机之定时器

原理部分 1. 计数器每遇到一个上升沿就会计数值1,。 72MHZ72000000 72000000/65536/655360.0167638063430786132812559.652323555555554 (s) 2. 3. 计数时钟每来一个上升沿&#xff0c;计数值1&#xff0c;自动运行。如果计数值与存储在自动重装载寄存器中的值相等&#…

2024 年最新 Python 基于百度智能云实现短语音识别、语音合成详细教程

百度智能云语音识别 采用国际领先的流式端到端语音语言一体化建模算法&#xff0c;将语音快速准确识别为文字&#xff0c;支持手机应用语音交互、语音内容分析、机器人对话等场景。百度短语音识别可以将 60 秒以下的音频识别为文字。适用于语音对话、语音控制、语音输入等场景…

C++ 32 之 静态成员函数

#include <iostream> #include <string> using namespace std;// 特点: // 1.在编译阶段就分配了内存空间 // 2.类内声明&#xff0c;在类外进行初始化 // 3.所有对象共享一份静态成员数据 class Students02{ public:int s_c;static int s_d;// 静态成员函数&#…

重装了mysql,然后安装为服务时,net start 启动一直报错,MySQL服务无法启动的解决

之前写过一篇关于安装mysql的文章&#xff0c;按上面的处理&#xff0c;基本上是可以的。 今天换了下目录&#xff0c;重新安装&#xff0c;一直报错。 然后我们来看一下问题&#xff1a; mysqld -console 这里的目录是有问题的&#xff0c;设置的是&#xff1a;datadird:\to…

如何完美解决升级 IntelliJ IDEA 最新版之后遇到 Git 记住密码功能失效的问题

&#x1f6e0;️ 如何完美解决升级 IntelliJ IDEA 最新版之后遇到 Git 记住密码功能失效的问题 摘要 在这篇文章中&#xff0c;我们将详细探讨如何解决在升级到 IntelliJ IDEA 最新版&#xff08;2024.1.3 Ultimate Edition&#xff09;后遇到的 Git 记住密码功能失效的问题。…

简单Mesh多线程合并,使用什么库性能更高

1&#xff09;简单Mesh多线程合并&#xff0c;使用什么库性能更高 2&#xff09;Unity Semaphore.WaitForSignal耗时高 3&#xff09;VS编辑的C#代码注释的中文部分乱码 4&#xff09;变量IntPtr m_cachePtr切换线程后变空 这是第389篇UWA技术知识分享的推送&#xff0c;精选了…