图中标示了箱线图中每条线和点表示的含义,其中应用到了分位数的概念 线的主要包含五个数据节点,将一组数据从大到小排列,分别计算出他的上边缘(Maximum),上四分位数(Q3),中位数(Median),下四分位数(Q1),下边缘(Minimum) 不在上边缘与下边缘的范围内的为异常值,用点表示。
数据准备
data
Repeat = rep(paste("Repeat", 1:3, sep = "_"), 100),
Condition = rep(c("Control", "Test"), 150))
> head(data)
Value Repeat Condition
1 -1.1395507 Repeat_1 Control
2 0.7319707 Repeat_2 Test
3 -0.2219461 Repeat_3 Control
4 -1.1454664 Repeat_1 Test
5 1.0740937 Repeat_2 Control
6 0.3741845 Repeat_3 Test
boxplot函数(R自带)
最方便的方法就是用boxplot函数,不需要依赖任何包
boxplot(data$Value, ylab="Value")
根据不同的条件,加上颜色
boxplot(Value ~ Condition, data=data, ylab="Value", col=c("darkred", "darkgreen"))
boxplot(Value ~ Condition * Repeat, data=data, ylab="Value", col="darkgreen")
多个分组(condition和repeat)的箱线图
boxplot(Value ~ Condition + Repeat, data=data, ylab="Value", col="darkgreen")
ggplot2
使用ggplot2来画箱线图是现在常用的方法
library(tidyverse)
# 定义一种主题,方便后面重复使用
theme_boxplot
axis.line=element_line(colour="black",size=0.25),
axis.title=element_text(size=13,face="p