我如何使用
这是对于这个问题的后续:如何在ggplot2 boxplot中添加每个组的观测次数并使用组平均值?。我可以使用
stat_summary
在图表上标注n = x
,其中x
是一个变量?下面是所需输出的示例:
nlabels <- sapply(1:length(unique(mtcars$cyl)), function(i) as.vector(t(as.data.frame(table(mtcars$cyl))[,2][[i]])))
ggplot(mtcars, aes(factor(cyl), mpg, label=rownames(mtcars))) +
geom_boxplot(fill = "grey80", colour = "#3366FF") +
geom_text(aes(x = 1, y = median(mtcars$mpg[mtcars$cyl==sort(unique(mtcars$cyl))[1]]), label = paste0("n = ",nlabels[[1]]) )) +
geom_text(aes(x = 2, y = median(mtcars$mpg[mtcars$cyl==sort(unique(mtcars$cyl))[2]]), label = paste0("n = ",nlabels[[2]]) )) +
geom_text(aes(x = 3, y = median(mtcars$mpg[mtcars$cyl==sort(unique(mtcars$cyl))[3]]), label = paste0("n = ",nlabels[[3]]) ))
这是对于这个问题的后续:如何在ggplot2 boxplot中添加每个组的观测次数并使用组平均值?。我可以使用
stat_summary
计算和显示观测次数,但我无法找到一种方法在stat_summary
输出中包括n =
。似乎stat_summary
可能是这种标记的最有效方法,但其他方法也可以接受。
return(c(y = ...
,你的答案表明return(data.frame(y = ...
是正确的方法。 - Benaes(fill = factor(vs))
。 - Paulo E. Cardosoreturn(data.frame(y = median(x), label = paste0(paste0("n = ",length(x)),"\n")))
。 - Fuhrmanator