如何编写一个函数来创建自定义误差条以在ggplot2中使用?

3

Ggplot2允许我们向图表中添加误差线。为了为您计算误差栏限制,它使用Hmisc的函数进行包装。例如,可以使用mean_cl_boot选项来引导:

m <- ggplot(mtcars, aes(x=cyl, y=am)) + stat_summary(fun.y=mean,geom="point")
m2 <- m + stat_summary(fun.data = "mean_cl_boot", geom = "errorbar", conf.int=.95)
m2

但是如果您需要编写自定义函数来计算误差条限制,该如何编写函数以便从stat_summary调用中被调用?

1个回答

9

以下是使用PropCIs中的add4ci函数提供置信区间的示例。您只需要让该函数返回一个名为"y"、"ymin"和"ymax"的数字列表即可:

library(PropCIs)
add4ciForGgplot <- function(x,conf.int) {
  numCorrect <- sum(x)
  numTrials <- length(x)
  CI <- add4ci(numCorrect,numTrials,conf.int)
  triplet <- data.frame(numCorrect/numTrials, CI$conf.int[1], CI$conf.int[2])
  names(triplet) <- c("y","ymin","ymax") #this is what ggplot is expecting
  return (triplet)
}

m <- ggplot(mtcars, aes(x=cyl, y=am)) + stat_summary(fun.y=mean,geom="point")
mCustom <- m + stat_summary(fun.data = "add4ciForGgplot", geom = "errorbar", conf.int=.95)
mCustom

1
在某个阶段(至少从ggplot2 3.2.0开始),语法已更改为stat_summary(fun.data = "add4ciForGgplot", geom = "errorbar", fun.args = list(conf.int=.95)) - JWilliman

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接