解释ggplot2中的“stat_summary = mean_cl_boot”?

时间:2013-07-01 22:15:56

标签: r ggplot2 usage-statistics

一个简单的问题 我尝试制作一个错误图,如Field的“使用R发现统计数据”第532页所示。

可在此处找到代码http://www.sagepub.com/dsur/study/DSUR%20R%20Script%20Files/Chapter%2012%20DSUR%20GLM3.R

line <- ggplot(gogglesData, aes(alcohol, attractiveness, colour = gender))
line + stat_summary(fun.y = mean, geom = "point") + 
stat_summary(fun.y = mean, geom = "line", aes(group= gender)) + 
stat_summary(fun.data = mean_cl_boot, geom = "errorbar", width = 0.2) + 
labs(x = "Alcohol Consumption", y = "Mean Attractiveness of Date (%)", colour = "Gender")  

我制作了相同的图表;我的y轴变量只有4个点(它是一个离散的刻度,1-4),现在y轴的点数为1.5,2,2.5,其中线条不同。

问题是:这些点和图表描述了什么? 我假设重要的部分是stat_summary(fun.data = mean_cl_boot, geom = "errorbar", width = 0.2)他们是否计算了该组和该级别(x轴)的观察结果?它们是频率吗?或者,它们的比例是多少?

我发现了这个http://docs.ggplot2.org/0.9.3/stat_summary.html,但它没有帮助我

谢谢

2 个答案:

答案 0 :(得分:13)

以下是第83页的ggplot2 bookmean_cl_boot()

的说法
Function          Hmisc original        Middle Range
mean_cl_boot() smean.cl.boot() Mean Standard error from bootstrap

我认为它是来自Hmisc包的smean.cl.boot(),但在ggplot2中重命名为mean.cl.boot()

here是来自Hmisc包的原始函数的定义:

smean.cl.boot是基本非参数引导的非常快速的实现,用于在不假设正态的情况下获得总体均值的置信限制

答案 1 :(得分:1)

我使用你的代码重现了这个图,我得到的字段显示在Field的书“使用R发现统计数据”中,图12.12,第532页,除了x轴上变量的排序。 y轴显示连续变量,日期的平均吸引力(%)。使用stat_summary()函数和mean_cl_boot参数创建的95%置信区间是使用hmisc中的smean.cl.boot()函数创建的自举置信区间,如上面的另一个评论者所指出的。 Hmisc documentation的第262页描述了此功能。 ggplot2 documentation on mean_cl_boot是稀疏的,并且遵循Hmisc包中的描述。

请注意,ggplot2中mean_cl_boot的参数与Hmisc包中的smean.cl.boot函数中的参数相同。您可以使用conf.int参数和使用B参数的bootstrap样本数来更改默认值.95所需的置信度。例如,这里是用于创建具有99%置信区间和5000个引导样本的相同图的代码:

line <- ggplot(gogglesData, aes(alcohol, attractiveness, colour = gender))
line + stat_summary(fun.y = mean, geom = "point") + 
stat_summary(fun.y = mean, geom = "line", aes(group= gender)) + 
stat_summary(fun.data = mean_cl_boot, conf.int = .99, B = 5000, geom = "errorbar", width = 0.2) + 
labs(x = "Alcohol Consumption", y = "Mean Attractiveness of Date (%)", colour = "Gender")