【R】用grafify搞定统计绘图、方差分析、干预比较等!

共 6086字,需浏览 13分钟

 ·

2022-08-04 12:11

本期推荐一个优质R包grafifygrafify功能表现在以下几方面:

  • 几行代码绘制高颜值统计图表,支持6大类,19种图表 (见上图);
  • 包含辨识度极高的调色盘,可与ggplot2良好兼容;
  • 支持方差分析 (ANOVA),包括随机区组和重复测量设计;
  • 支持干预前后的变化比较 (post-hoc comparisons);
  • 模拟1-way和2-way ANOVA设计。

grafify调色盘

支持以下调色盘,包含定性配色方案(Qualitative colormaps)如okabe_ito、r4等和顺序配色方案(Sequential colormaps)如grey_conti等。使用方法类似ggplot2,参考👉 R可视化07|ggplot2图层-标度图层(scale layer)-颜色盘篇

plot_grafify_palette(palette = "kelly"#查看kelly调色盘所有颜色色值号
grafify:::graf_palettes #输出grafify所有调色盘色值

grafify绘制统计图

统计图对应的实现方法都在下图红框里了,需要那类图,使用图上方函数即可,下面简单举例,说明grafify的使用:

  • demo0

plot_4d_scatterbar()实现3或4个分类变量bar图,

plot_4d_scatterbar(data_2w_Tdeath,           
                   Genotype,                  
                   PI,                        
                   Time,                      
                   Experiment,                
                   b_alpha = 0.7,             
                   ColPal = "vibrant")+     
  scale_colour_manual(values = c("black""grey20"))+   
  labs(title = "2way/RM, bars/SD",
       subtitle = "(shapes = randomised blocks)")
  • demo1

绘制一个组合图:bar图+散点图+SD,plot_scatterbar_sd()可轻松搞定

library('grafify'# 导入包
plot_scatterbar_sd(data = data_doubling_time,#使用内置数据集data_doubling_time
                   xcol = Student,           # 指定X轴变量
                   ycol = Doubling_time,     # 指定Y轴变量
                   SingleColour = "r4_1")+ # 指定颜色,这里取子调色盘r4
                   labs(title = "Scatter+bar+SD"# 设置标题
  • demo2

QQ图:使用plot_qqline()即可,

plot_qqline(data_t_pratio, 
            log(Cytokine),  
            Genotype)+         
            labs(title = "QQ plot with plot_qqline()")
  • demo3

临床连线图:SCI文章中常用连线图比较一样本在干预前后的变化,grafify中plot_befafter_colours()可轻松实现,

plot_befafter_colours(data = data_t_pdiff,
                      xcol = Condition,
                      ycol = Mass,
                      match = Subject,
                      symsize = 5,
                      ColPal = "r4",
                      ColRev = T)+
  labs(title = "TBefore-after with plot_befafter_colours")
  • demo4

plot_xy_NumGroup()

plot_xy_NumGroup(dplyr::filter(diamonds, cut == "Premium" & clarity == "SI1"), 
                 depth, 
                 price, 
                 carat, 
                 s_alpha = .5
                 ColPal = "grey_conti")+ #colschem
  labs(title = "plot_xy_NumGroup()")

grafify方差分析

该部分不详细介绍,主要支持以下几类ANOVA:

  • Simple linear models: One-way ANOVA, Two-way ANOVA
  • Mixed effects models: One-way ANOVA & randomised blocks,Two-way ANOVA & randomised blocks,Two-way ANOVA, repeated-measures & randomised blocks
  • Posthoc comparisons:posthoc_Pariwise, posthoc_Levelwise, posthoc_vsRef

参考:https://github.com/ashenoy-cmbi/grafify


往期精彩回顾




浏览 61
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报