如何编写一个函数来创建与ggplot2一起使用的自定义误差线?

时间:2011-07-16 13:29:02

标签: r ggplot2

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 个答案:

答案 0 :(得分:6)

以下是使用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