当前位置:   article > 正文

ggpubr——绘制各种SCI发表级箱图_ggboxplot 线条粗细

ggboxplot 线条粗细

上次我们给大家介绍了用R的ggpubr包绘制各种散点图,今天我们继续学习ggpubr包绘制各种SCI发表级箱图。

 `library(ggpubr)`
 `library(patchwork)#如果没有安装要先安装`
 `set.seed(123)#设种子数`

  • 1
  • 2
  • 3
  • 4

首先生成一个随机的数据集,该数据集有300个观测,3个变量(分别是A,sex,smokestatus)

`dataset=data.frame(A=c(rnorm(150,12,2), rnorm(150, 6,1)),`
 `sex=sample(c("0","1"),300,replace=TRUE),`
 `smokestatus=sample(c("1","2","3"),300,replace=TRUE))`

  • 1
  • 2
  • 3
  • 4

绘制简单箱图:(下面的加号表示拼接图形,如果不需要拼接,可以直接把加号去掉)

`ggboxplot(dataset, x = "smokestatus", y = "A",`
 `bxp.errorbar=T,#显示误差条`
 `width = 0.5,#箱体的宽度`
 `color = "smokestatus", #分组`
 `palette="aaas",#使用杂志aaas的配色`
 `)+`
`ggboxplot(dataset, x = "smokestatus", y = "A", width = 0.5, color = "smokestatus",`
 `palette="aaas",bxp.errorbar=T,`
 `orientation = "horizontal"#调整图形方向为水平`
 `)+`
`ggboxplot(dataset, x = "smokestatus", y = "A", width = 0.5,color = "smokestatus",`
 `palette="aaas",bxp.errorbar=T,`
 `notch = TRUE,#添加缺口`
 `order = c("3","2","1")#调整顺序`
 `)+`
`ggboxplot(dataset, x = "smokestatus", y = "A", width = 0.5, color = "smokestatus",`
 `palette="aaas",bxp.errorbar=T,`
 `select = c("3")#选择特定的水平来画图`
 `)`
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

图片

绘制带散点的箱图

`ggboxplot(dataset, x = "smokestatus", y = "A", width = 0.8,` 
 `add = "jitter",#添加图形元素`
 `add.params=list(color = "smokestatus",size=0.8, shape = 23))#参数add的参数,可设置颜色`
  • 1
  • 2
  • 3

图片

绘制簇状箱图(横坐标表示smokestatus分组,不同颜色代表不同性别sex)

`ggboxplot(dataset, x = "smokestatus", y = "A", width = 0.6,` 
 `color = "black",#轮廓颜色`
 `fill="sex",#填充`
 `palette =c("#E7B800", "#00AFBB"),#分组着色`
 `xlab = F, #不显示x轴的标签`
 `bxp.errorbar=T,#显示误差条`
 `bxp.errorbar.width=0.5, #误差条大小`
 `size=1, #箱型图边线的粗细`
 `outlier.shape=NA, #不显示outlier`
 `legend = "right") #图例放右边`

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

图片

在箱图添加三组总体P值

`ggboxplot(dataset, x = "smokestatus", y = "A", width = 0.8,` 
 `add = "jitter",add.params=list(color = "smokestatus",size=0.5))+`
 `stat_compare_means(method = "anova")`

  • 1
  • 2
  • 3
  • 4

图片

两两比较

`my_comparisons <- list( c("1", "2"), c("1", "3"), c("3", "2") )`
`ggboxplot(dataset, x = "smokestatus", y = "A",`
 `color = "smokestatus", palette = "npg")+`
 `#两两比较的p值`
`stat_compare_means(comparisons = my_comparisons, label.y = c(18, 22, 26))+`
`#整体的p值`
`stat_compare_means(label.y = 28)`

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

图片

固定某一组,其他与某组比较

`ggboxplot(dataset, x = "smokestatus", y = "A",`
 `color = "smokestatus", palette = "npg")+`
`# 整体的p值`
`stat_compare_means(method = "anova", label.y = 28)+` 
`stat_compare_means(method = "t.test", #选择统计方法`
 `ref.group = "1"#以smokestatus为1的作为对照组`
 `)`

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

图片

分组/分面之后再做比较

`ggboxplot(dataset, x = "sex", y = "A",`
 `color = "sex", palette = "npg",`
 `add = "jitter",`
 `facet.by = "smokestatus"#按照smokestatus分不同的面板`
 `)+`
`#label中去掉检验方法`
`stat_compare_means(aes(label = paste0("p = ", ..p.format..)))`

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

图片

今天箱图的学习到这。
欢迎大家关注我的微信公众号 统计练习题

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/66018
推荐阅读