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

R语言科研编程-标准偏差柱状图

生成随机数据

在R中,可以使用rnorm()生成正态分布的随机数据,并模拟分组数据。以下代码生成3组(A、B、C)随机数据,每组包含10个样本:

set.seed(123)  # 确保可重复性
group_A <- rnorm(10, mean=50, sd=5)
group_B <- rnorm(10, mean=60, sd=8)
group_C <- rnorm(10, mean=45, sd=6)
data <- data.frame(Group = rep(c("A", "B", "C"), each=10),Value = c(group_A, group_B, group_C)
)

计算均值和标准偏差

使用dplyr包汇总数据,计算每组均值和标准偏差:

library(dplyr)
summary_data <- data %>%group_by(Group) %>%summarise(Mean = mean(Value),SD = sd(Value))

绘制柱状图与误差棒

使用ggplot2绘制柱状图,并通过geom_errorbar添加标准偏差误差棒:

library(ggplot2)
ggplot(summary_data, aes(x=Group, y=Mean, fill=Group)) +geom_bar(stat="identity", width=0.5) +geom_errorbar(aes(ymin=Mean-SD, ymax=Mean+SD), width=0.2) +labs(title="误差分析柱状图", y="均值 ± 标准偏差") +theme_minimal()

在这里插入图片描述

自定义图形样式(可选)

调整颜色、标题和坐标轴:

ggplot(summary_data, aes(x=Group, y=Mean, fill=Group)) +geom_bar(stat="identity", width=0.5, color="black") +geom_errorbar(aes(ymin=Mean-SD, ymax=Mean+SD), width=0.2, linewidth=0.7) +scale_fill_brewer(palette="Set2") +labs(title="误差分析柱状图", x="分组", y="测量值") +theme_classic()

输出图形

执行代码后,图形将显示在R的绘图窗口。如需保存为文件,使用ggsave()

ggsave("error_bar_plot.png", width=6, height=4, dpi=300)

安装patchwork包 在R或RStudio中执行以下命令从CRAN安装:

install.packages("patchwork")

双排显示

library(ggplot2)
library(patchwork)``````r 
p1 <- ggplot(summary_data, aes(x=Group, y=Mean, fill=Group)) + geom_bar(stat="identity", width=0.5) + geom_errorbar(aes(ymin=Mean-SD, ymax=Mean+SD), width=0.2) + labs(title="误差分析柱状图", y="均值 ± 标准偏差") + theme_minimal()p2 <- ggplot(summary_data, aes(x=Group, y=Mean, fill=Group)) + geom_bar(stat="identity", width=0.5, color="black") + geom_errorbar(aes(ymin=Mean-SD, ymax=Mean+SD), width=0.2, linewidth=0.7) + scale_fill_brewer(palette="Set2") + labs(title="误差分析柱状图", x="分组", y="测量值") + theme_classic()

左右排列显示结果

combined_horizontal <- p1 + p2 + plot_layout(ncol = 2)
print(combined_horizontal)

在这里插入图片描述

combined_vertical <- p1 / p2 + plot_layout(nrow = 2)
print(combined_vertical)

在这里插入图片描述

combined_horizontal + plot_annotation(title = "双图对比分析") + plot_layout(guides = "collect") & theme(plot.margin = unit(c(1,1,1,1), "cm"))

在这里插入图片描述
在这里插入图片描述

总结

柱状图是所有图像的基础,尝试建立不同的柱状图,在基本的格式基础上更改参数,多练习多尝试,加油吧小伙伴们。

相关文章:

  • 2025深圳国际无人机展深度解析:看点、厂商与创新亮点
  • 开发者工具箱-鸿蒙网络工具之Ping工具开发实践
  • 自媒体运营新利器:账号矩阵+指纹浏览器,解锁流量密码
  • React整合【ECharts】教程001:柱状图的构建和基本设置
  • 【uniapp 开发经验】小程序移动端新增页面适配指南
  • 超越OpenAI CodeX的软件工程智能体:Jules
  • Elasticsearch实操案例
  • 基于ssm+mysql的班级管理系统(含LW+PPT+源码+系统演示视频+安装说明)
  • 【MySQL】第8节|Innodb底层原理与Mysql日志机制深入剖析(一)
  • Spring boot和SSM项目对比
  • RT Thread Nano V4.1.1 rtconfig.h 注释 Configuration Wizard 格式
  • React 文件分片上传与下载全解析
  • 一文快速了解Vue3服务端渲染(SSR)
  • 电子电路:什么是孤立导体?即孤立导体的电荷分布与特性
  • Mysql 通过案例快速学习常见操作
  • 最大似然估计(Maximum Likelihood Estimation, MLE)详解
  • Docker安装MySQL集群(主从复制)
  • 知识宇宙:技术文档该如何写?
  • 【MPC控制 - 从ACC到自动驾驶】ACC系统原理与MPC初步认知
  • SIAM-2007《k-means++: The Advantages of Careful Seeding》
  • 阿里巴巴网站/站外推广方式
  • 云南省建设厅网站首页/四川成都最新消息
  • 网站宽度 超宽/网络营销做得好的酒店
  • 海口网站建设费用/网页免费制作网站
  • 网站开发需要掌握哪些知识/网站生成器
  • 十堰微网站建设/seo外链是什么