r语言 柱状图加星号_如何用R画分组柱状图并且添加标准差和显著性标记(星号)?...

时间过了这么久,该交一份答案了。ggplot2包 是一个图形可视化包,并不带统计分析功能,所以统计学分析需要另外去做。

这里加bar和显著性标识,如果了解ggplot2绘图原理中的图层概念的话,就能明白,无非就是在画完分组柱状图后,根据需要自己用ggplot2在图片上画几条折线,加几个星号而已。

这里我用一种geek一点的方法,类似后期在AI中添加的笨办法

开始画图

首先我们创造一个看起来有差异的数据,为了简化统计过程我用rnorm这个函数生成了一堆正太分布的数据。为了让他们有差异,我也特意调整了不同组的mean值。此外为了方便我先生成了4x21的df,然后用reshap2的melt函数将数据转化成ggplot2需要的格式。

## 加载包

library(reshape2)

library(ggplot2)

library(ggpubr)

library(dplyr)

options(stringsAsFactors = F)

## 制造一个有差异的数据为了演示

x

root = c(rnorm(7,10),rnorm(7,5),rnorm(7,21)),

leaf = c(rnorm(7,9),rnorm(7,4),rnorm(7,32)),

stem = rnorm(21,8))

y = melt(x,id.vars = "Type")

head(y)

统计学分析

半路出家,统计学的很烂,没有系统的学过,只是follow网上的流程需要的时候拿来用下,应该有错误,希望大佬指出。 最简单的例子,用t测验检测同组织内(root,leaf,stem)不同样品(A,B,C)的差异:先看数据分布是否为正太分布,方法参考:【R】正态检验与R语言 - REAY - 博客园​www.cnblogs.comt测验,方法参考:R语言-t检验_weixin_38322363的博客-CSDN博客_r t检验​blog.csdn.net2f1667ed0fc3ad3dd409fb6c52ba14cc.png

variable = as.character(unique(y$variable))

Type = as.character(unique(y$Type))

for (i in 1:length(variable)) {

for (j in 1:length(Type)) {

l = variable[i]

z = Type[j]

b = filter(.data = y, variable == l & Type == z)[,3]

a = shapiro.test(b)

qqnorm(b)

print(c("Test Group:",variable[i],Type[j]))

print(a)

}

}

## t检验

y$num &

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值