打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
堆叠柱状图也要做统计-标记显著性

写在前面

有时候我们展示的指标有一定的关系,希望可以使用堆叠柱状图展示。许多朋友们问询,这样如何添加显著性标记,因此本期结合EasyStat包给大家做一个演示。

R 包导入

## 导入包
library(ggplot2)
library(reshape2)
library(plyr)
library(EasyStat)
library(dplyr)

使用数据

这里只需要修改使用哪几列数据即可,我们EasyStat内置数据,选择了三列数据大小为同一个水平的来做一下。(模拟)

data("data_wt")
## 载入数据
data <- data_wt
i = c(4,9,8)

### 数据整理
如果按照EasyStat的输入,也就是第一列是ID,第二列为:group,那么下面数据整理的过程是不需要修改的,直接运行。
#--数据整理
i = c(1,2,i)
data <- data[,i]

#---差异统计
result = MuiKwWlx(data = data,num = c(3:ncol(data)))
result
result$group = row.names(result)
abc <- melt(result, id="group", variable.name="variable", value.name = "abc")

#作图数据整理
df <- melt(data, id="group", variable.name="variable", value.name = "Size")
head(df)
## 数据统计均值、标准差、标准误
mean <- aggregate(df$Size, by=list(df$group, df$variable), FUN=mean)
sd <- aggregate(df$Size, by=list(df$group, df$variable), FUN=sd)
len <- aggregate(df$Size, by=list(df$group, df$variable), FUN=length)
df_res <- data.frame(mean, sd=sd$x, len=len$x)
colnames(df_res) = c("group", "variable", "Mean", "Sd", "Count")
head(df_res)
df_res$Se <- df_res$Sd/sqrt(df_res$Count) ### 计算标准差
levels(df_res $variable) = as.character(unique(df_res$variable))[c(3:1)]

大家关心的误差坐标和显著性标记坐标构造

#构造误差线坐标--
df_res = ddply(df_res,"group",transform,label_y = cumsum(Mean ))
#-构造显著性标记位置
df_res = ddply(df_res,"group", transform, label_abc = cumsum(Mean) - 0.5*Mean)

#因子重新排列
df_res$variable = factor(df_res$variable,order = F,levels = levels(df_res$variable)[length(levels(df_res$variable)):1])

合并出图数据 绘图

#--合并-出图数据
plotdata <- df_res %>%
left_join(abc,by = c("group","variable"))

### ggplot 绘图
ggplot(plotdata , aes(x= group, y=Mean, fill=variable)) +
geom_bar(stat="identity",color="black", width=.6) +
geom_errorbar(aes(ymin=label_y-Sd, ymax=label_y +Sd), width=.2) +
geom_text(aes(y = label_abc, label = abc))

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
28个数据可视化图表的总结和介绍
堆叠柱状图各成分连线画法:突出展示组间物种丰度变化
堆叠柱状图梯形连接(桑基图)
蚂蚁金服在线可视化引擎 G2
ggplot2分面作图然后在其中一个添加注释
GraphPad 8.0 新功能:柱状图功能体验大优化!(附教学)
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服