一些画图记录

20221109

一些画图参数:

#方差分析和多重比较
library(multcomp)

for (i in unique(dat$Var)) {
    fit <- aov(Value~Group, data = subset(dat, Var == i))  #方差分析(ANOVA)
    tuk <- glht(fit, alternative = 'two.sided', linfct = mcp(Group = 'Tukey')) 
    #多重比较(Tukey HSD)
    #alternative(指定备选假设的字符串)
    #linfct(待检验线性假设的说明,由函数mcp返回的对象指定的)
    Tukey <- cld(tuk, level = 0.1, decreasing = TRUE)$mcletters$Letters
    #cld(设置一个紧凑的字母显示所有成对比较)
    #level(显著性水平)
    #decrasing(递减)
    stat[which(stat$Var == i & stat$Group %in% names(Tukey)),'sig'] <- Tukey  
    #将差异比较的结果添加在统计表中方便绘图
    print(i)
    print(Tukey)
}
stat

#绘制带有均值±标准差的柱形图并添加多重比较的结果
library(ggplot2)

ggplot(stat, aes(x = Group, y = Value.mean, fill = Group, color = Group)) + 
  #aes(x.y:坐标轴上的值,fill:填充颜色,color=图形外周颜色)
geom_col(width = 0.5)+
  #geom_col针对最常见的柱状图 ,即既给ggplot映射x值(x值一般是因子型的变量,才能成为柱,而没有成为曲线),也映射y值。
geom_errorbar(aes(ymin = Value.mean - Value.sd, ymax = Value.mean + Value.sd), width = 0.2)+
  #(误差条)
geom_text(aes(y = Value.mean + Value.sd, label = sig), vjust = -0.5) +
  #将文本直接添加到绘图中, geom_text(check_overlap = TRUE)避免字体重叠。
facet_wrap(~Var, ncol = 2)+
  #按照行列或者其他方式进行分类
theme(panel.grid = element_blank(), panel.background = element_rect(fill = 'transparent', color = 'gray')) +
#grid在图中加入自定义要素
labs(x = '', y = 'Value', fill = '', color = '') +
scale_y_continuous(expand = expansion(mult = c(0, 0.1)))
  #对Y轴标签进行处理
#######绘制箱线图并添加方差分析和多重比较显著性

#读取数据
dat <- read.csv('example_data.csv', stringsAsFactors = FALSE)
dat$Group <- factor(dat$Group)
dat <- dat[order(dat$Var, dat$Group), ]

  #获取各变量在每组中的最大值,以便在作图时指定显著性标签在图中的位置

图内上方文字调整:

theme(strip.text.x = element_text(size = 15))

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值