绘制误差线

.seed(20170916)
a <- runif(30, 0, 20)
b <- runif(30, 0, 20)
c <- runif(30, 0, 20)
# 生成数据框
df <- data.frame(a=a, b=b, c=c)
# 标准误差公式
se <- function(x){
sd(x)/sqrt(length(x))
}
# 计算平均值
my_mean <- apply(df, 2, mean)
# 计算标准误差
my_se <- apply(df, 2, se)
# 绘制柱状图
barx <- barplot(my_mean,
names.arg=names(df),
ylim=c(0,ceiling(max(df))),
xlab='Class',
ylab="Mean +/- SE")
# 添加误差线
arrows(barx, my_mean+my_se, barx, my_mean-my_se, angle=90, code=3, length=0.1)