前面我们学习了怎么往ggplot2图形上添加显著性差异的P值。
R语言统计与绘图:基于ggplot2包绘制带误差线的线图和条形图
R语言统计与绘图:在ggplot2图形上添加显著性差异注释
今天来学习一个新包,使用这个新包可以往ggplot2图形上更简单快速的添加P值。
ggpval包可以执行统计检验,并且自动往ggplot2图形上添加相应的P值,P值可以显示为数字或者星形符号,也可以显示为文本注释。
1. 安装和加载R包
install.packages("ggpval") # 安装包
tall.packages("ggplot2") # 安装包
library(ggplot2) # 加载包
library(ggpval) # 加载包
# ggpval包也可以从github上安装
# install.packages("devtools")
devtools::install_github("s6juncheng/ggpval")
2. 创建数据集
数据集来自函数帮助文件。
A 200, 0, 3) # 创建连续性变量
B 200, 2, 4) # 创建连续性变量
G "G1", "G2"), each = 100) # 创建个分组变量
library(data.table) # 加载包用来创建数据集
dt # 创建数据集
dt # 查看数据集,下面的图形都是在Rmarkdown中生成的
3. 数据集处理
转换数据集,将数据集由宽数据集变为长数据集。
dt1 "G")
dt1
4. 箱型图示例
先画一个ggplot2箱型图,再指定哪两个组配对比较。
# 绘制箱型图,并将图形传递给plt参数
plt geom_boxplot() + # 绘制箱型图
geom_jitter() # 添加抖动散点
plt
# 指定配对比较的组进行统计检验
add_pval(plt, pairs = list(c(1, 2)))
# 指定1组和2组进行比较
除了添加P值外,还可以指定文本注释,当指定添加文本注释时,统计检验不会进行。
统计检验默认wilcox.test,可以调节参数修改成其他检验方法。
add_pval(plt, pairs = list(c(1, 2)),
annotation = "指定文本注释")
5. 分面箱型图示例
除了普通箱型图外,还可以绘制分面箱型图,然后进行统计检验。
# 绘制分面箱型图,并将图形传递给pltf参数
pltf geom_boxplot() +
geom_jitter() +
facet_wrap(~G) # 绘制分面箱型图,分面变量为G变量
pltf
# 指定配对比较的组进行统计检验
add_pval(pltf, pairs = list(c(1, 2)))
# 指定1组和2组进行比较
分面箱型图也可以指定添加注释文本,只需给annotation参数添加个list注释即可
# 指定配对比较的组进行统计检验
add_pval(pltf, pairs = list(c(1, 2)),
annotation = list("注释文本1", "注释文本2"))
# 指定1组和2组进行比较
6. 条形图示例
ggpval还可以在条形图上进行统计检验。
先绘制一个条形图。
plt_bar geom_bar(stat = "identity", position = 'dodge')
plt_bar
指定条形图的1组和2组进行统计检验。
add_pval(plt_bar, pairs = list(c(1, 2)),
response = 'value') # 指定进行统计检验的列
绘制分面条形图,跟分面箱型图差不多。
plt_bar geom_bar(stat = "identity", position = 'dodge') +
facet_wrap(~G)
plt_bar
add_pval(plt_bar, pairs = list(c(1, 2)), response = 'value')
7. 外观属性设置
选用最前面的箱型图进行演示,怎么修改显著性检验的外观属性。
# 绘制箱型图,并将图形传递给plt参数
plt geom_boxplot()
add_pval(plt, pairs = list(c(1, 2)),
barheight = 2,
heights = 15,
textsize = 5)
参考资料
- ggpval包帮助文件
既往专辑