统计绘图:基于ggplot2包绘制箱式图

8 篇文章 0 订阅
4 篇文章 0 订阅
本文详细介绍了如何使用R语言的ggplot2包绘制箱式图,包括数据处理、添加误差条和箱线图,以及通过stat_compare_means和stat_compare_medians进行不同组别的均值和中位数比较,并展示显著性结果。
摘要由CSDN通过智能技术生成

本文介绍通过R的ggplot2包 绘制箱式图,并添加各组比较的显著性结果。

1 收集数据

2 绘制箱式图

# 加载数据处理和绘图所需的R包
library(dplyr)
library(ggpubr)
library(ggplot2)

# 设置R的工作目录,确保可以找到并读取CSV文件
setwd("C:/Users/jiayo/Desktop/jupyter notebook")

# 从CSV文件中读取数据,存储在名为`data`的数据框中
data <- read.csv("distance_ca_center.csv")

# 创建ggplot图形对象`g1`
g1 <- ggplot(data, aes(x=vp, y=CA_distance)) +
  # 添加箱线图的误差条
  stat_boxplot(geom="errorbar", width=0.1, size=0.8) +
  # 添加箱线图,根据`vp`变量进行填充,忽略异常值的颜色
  geom_boxplot(aes(fill=vp), outlier.color=NA) +
  # 添加点图,并根据`vp`变量进行填充,设置点的形状、大小、透明度和宽度
  geom_jitter(aes(fill=vp), shape=21, size=2.5, alpha=0.6, width=0.3) +
  # 手动设置填充颜色的值
  scale_fill_manual(values = c("#EE553D", "#FFA45C", "#FFE094", "#5679BA")) +
  # 设置图形主题为经典主题
  labs(x="Capsid protein", y="Distance from CA to center")+
  theme_light() +
  # 设置图例位置为无,设置轴文本的大小和x轴文本的旋转角度
  theme(legend.position="none",
        axis.text=element_text(size=10, color="black"),
        axis.text.x=element_text(angle=0),
        axis.title=element_text(size=15, color="black"))
# 显示第一个图形
g1

# 创建一个比较均值的列表
g_col <- list(c("VP4", "VP1"), c("VP4", "VP2"), c("VP4", "VP3"))

# 在第一个图形的基础上添加均值比较,标签为p.signif,使用t.test方法
g2 <- g1 + stat_compare_means(comparisons = g_col,
                              label = "p.signif",
                              method = "t.test") +
  # 设置图例文本的大小
  theme(legend.text = element_text(size = 12))
# 显示第二个图形
g2


# 打开PDF文件
pdf("output_box.pdf", width=8, height=5)

# 将图形绘制到PDF文件
print(g2)

# 关闭PDF文件
dev.off()

当数据服从正态分布,方差齐时,用 stat_compare_means函数比较均值,检验方法为 t检验;若不满足,可用 stat_compare_medians函数替代,用wilcox非参数检验比较中位数。

# 创建一个比较中位数的列表
g_col <- list(c("VP4", "VP1"), c("VP4", "VP2"), c("VP4", "VP3"))

# 在第一个图形的基础上添加中位数比较,标签为p.signif,使用wilcox.test方法(非参数检验)
g2 <- g1 + stat_compare_medians(comparisons = g_col,
                                label = "p.signif",
                                method = "wilcox.test") +
  # 设置图例文本的大小
  theme(legend.text = element_text(size = 12))

# 显示第二个图形
g2

3 输出结果

  • 6
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值