2010-09-03 51 views
0

我使用的切函数来数字变量转换成一个因子具有两个水平和在这样的箱线图使用此表达式:标签包括在切断功能中的箱线图使用中的R

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(paste("above 50%", "\n", "n =", length(subset(Sp$Var1, Sp$Var5<50)), sep="")) 

我的问题是,我已经不能够将其插入到cut函数的标签参数中。简单地说,将上面的代码插入到标签向量中即可打印boxplot,但会在R控制台中打印标签。我想我可能需要使用表达式功能,但我还没有这个工作。任何帮助或替代方法表示赞赏。

回答

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)) 
+0

非常感谢,这就是我想要做的。 – CCID 2010-09-04 11:03:17