我喜欢创建一个boxplot,底部有中位数标签和中位数和n(每组中的观测数)的汇总表,y轴标签旋转90度.

这是我的测试数据集

exampledf <- data.frame( val=c(4, 2, 3, 5, 4, 1, 5, 8), 
                         let=c("a", "a", "a", "b", "b", "c", "c", "c") )

我能做这些

boxplot(val ~ let, data = exampledf)

不确定如何旋转y轴标签90,请在下面添加中值和表n.预期数字

enter image description here

推荐答案

我们可以使用boxplot的不可见输出来得到中值和ns.对于面板下方的中间标签和桌状对象,我们可以使用textmtext函数以及lines.我们最好使用png设备.

png('myplot.png', 600, 400)

par(mar=c(7, 4, 4, 2)+.1)

b <- boxplot(val ~ let, data=exampledf, xlab='', las=1)
mds <- b$stats[3, ]
text(1:3, mds + .225, labels=formatC(mds,format='f', digits=2), cex=.8)
mtext(c('n', b$n), 1, 2.5, at=c(.5, 1:3)-.05, adj=0)
mtext(c('median', formatC(mds,format='f', digits=2)), 1, 3.5, at=c(.5, 1:3)-.05, adj=0)
lines(c(.75, 3.25), c(-.25, -.25), xpd=TRUE)
lines(c(.75, 3.25), c(-1.5, -1.5), xpd=TRUE)
mtext('let', line=1)

dev.off()

enter image description here

R相关问答推荐

如何在ggplot中标记qqplot上的点?

R中的时间序列(Ts)函数计数不正确

使用rest从header(h2,h3,table)提取分层信息

如何指定我的函数应该查找哪个引用表?

如何根据数据帧中的值从该数据帧中提取值?

扩展R中包含列表的数据框

如何在使用Alpha时让geom_curve在箭头中显示恒定透明度

对R中的列表列执行ROW Mean操作

使用函数从R中的列中删除标高

如何使用ggplot2根据绘图中生成的斜率对小平面进行排序?

在子图内和子图之间对齐行数不均匀的表格罗布对

如何根据每个子框架中分类因子的唯一计数来过滤子框架列表?

基于已有ID列创建唯一ID

如何在分组蜂群小区中正确定位标签

Ggplot2水平线和垂直线的图例图标不匹配

从字符数据列中删除符号

有没有一种方法可以基于两个条件和现有的时间变量来创建时间值?

删除多列中带有NA的行

R函数的多个类似输入-使用列表提供它们的问题

变异以计算多个列的平均值,而无需将其打印出来