标签包括在R中的箱线图中使用的切割函数中的表达式

时间:2010-09-03 17:41:36

标签: r labels cut boxplot

我正在使用cut函数将数值变量转换为具有两个级别的因子,并在这样的箱形图中使用它:

boxplot(Sp$Var1 ~ cut(Spt$Var5, breaks = c(0,50,100), labels =c("below 50%", "above 50%")), ...)

我想在切割功能中使用的每个标签下面包含样本大小为“n = ...”。我可以使用带有子集的长度来获取样本大小,如此,

length(subset(Sp$Var1, SpDet$Var5<50)

使用cat and paste将样本大小设置在标签

之下
cat(paste("above 50%", "\n", "n =", length(subset(Sp$Var1, Sp$Var5<50)), sep=""))

我的问题是我无法将其插入到cut函数的labels参数中。简单地说,将上面的内容插入标签矢量会打印出boxplot ok,但会在R控制台中打印标签。我想我可能需要使用表达式函数,但我也没有这个工作。任何帮助或替代方法赞赏。

1 个答案:

答案 0 :(得分:1)

cat函数没有连接,你应该使用paste(是的,两次)。 有一个可重复的例子

y <- rnorm(20)
ns <- tapply(y,y>0,length)
labs <- paste(c("0 pr below", "above 0"), paste("n =",ns), sep="\n")
boxplot(y ~ cut(y, breaks=c(-Inf,0,Inf), labels=labs))