R语言如何绘制箱线图(5)
1.什么是箱线图?
箱线图又称盒图,是在1977年由美国的统计学家约翰·图基(John Tukey)发明的。它由五个数值点组成:最小值(min),下四分位数(Q1),中位数(median),上四分位数(Q3),最大值(max)。下四分位数、中位数、上四分位数组成一个“带有隔间的盒子”。上四分位数到最大值之间建立一条延伸线,这个延伸线成为“胡须(whisker)”。由于现实数据中总是存在各式各样地“脏数据”,也称为“离群点”,于是为了不因这些少数的离群数据导致整体特征的偏移,将这些离群点单独汇出。
四分位数(quartile)是指在统计学中把所有数值由小到大排列并分成四等份,处于三个分割点位置的数值。四分位数也被称为四分位点,它是将全部数据分成相等的四部分,其中每部分包括 25%的数据,处在各分位点的数值就是四分位数。四分位数有三个,第一个四分位数就是通常所说的四分位数,也被称为下四分位数,第二个四分位数就是中位数,第三个四分位数称为上四分位数,分别用 Q1、Q2、Q3表示。
通过箱线图,在分析数据的时候,能够有效地帮助我们识别数据的特征:直观地识别数据集中的异常值(查看离群点)。判断数据集的数据离散程度和偏向(观察盒子的长度,上下隔间的形状,以及胡须的长度)。
本文我们就来讨论一下箱线图是如何绘制的以及如何对其进行解读。
2.绘图前的数据准备
demo数据可以在https://www.bioladder.cn/shiny/zyp/bioladder2/demoData/BoxPlot/boxplot.txt下载。
包含2个维度的数据,通常每一列是个样本,每一行是个基因
3. R语言怎么画箱线图
# 加载R包,没有安装请先安装 install.packages("包名")
library(ggplot2)
library(reshape2)
library(ggsignif)
# 读取ROC数据文件
df = read.delim("https://www.bioladder.cn/shiny/zyp/bioladder2/demoData/BoxPlot/boxplot.txt",# 这里读取了网络上的demo数据,将此处换成你自己电脑里的文件
header = T # 指定第一行是列名
)
# 把数据转换成ggplot常用的类型(长数据)
df = melt(df)
# 绘图
ggplot(df,aes(x=variable,y=value,fill=variable))+
geom_boxplot(alpha = 1, # 透明度
outlier.color = "black" # 外点颜色
)+
theme_bw()+ # 白色主题
theme(
axis.text.x = element_text(angle = 90,
vjust = 0.5
) # x轴刻度改为倾斜90度,防止名称重叠
)+
geom_signif( # 添加显著性标签
comparisons=list(c("Sample1","Sample2"),c("Sample3","Sample4")), # 选择你想在哪2组上添加标签
step_increase = 0.1,
test="t.test", # "t 检验,比较两组(参数)" = "t.test","Wilcoxon 符号秩检验,比较两组(非参数)" = "wilcox.test"
map_signif_level=F # 标签样式F为数字,T为*号
)
4. BioLadder生信云平台在线绘制箱线图
不想写代码?可以用BioLadder生信云平台在线绘制箱线图。
网址:https://www.bioladder.cn/web/#/chart/1