14

一个可能很简单的问题我试图制作一个错误图,如 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但它对我没有帮助

谢谢

4

2 回答 2

15

这是第 83 页上的 ggplot2书所说的mean_cl_boot()

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

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

是 Hmisc 包中原始函数的定义:

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

于 2013-07-01T23:09:13.990 回答
2

我使用您的代码复制了该图,并且得到了 Field 的书“使用 R 发现统计”,图 12.12,第 532 页中所示的基本相同的图,除了 x 轴上的变量排序。y 轴显示连续变量,即日期的平均吸引力 (%)。正如您指出的那样,使用 stat_summary() 函数和 mean_cl_boot 参数创建的 95% 置信区间是使用 Hmisc 中的 smean.cl.boot() 函数的引导置信区间,正如上面另一位评论者所指出的那样。Hmisc文档的第 262 页描述了此功能。mean_cl_boot 上的 ggplot2文档很少,并遵循 Hmisc 包中的描述。

请注意,ggplot2 中 mean_cl_boot 的参数与 Hmisc 包中 smean.cl.boot 函数中的参数相同。您可以使用 conf.int 参数从默认的 0.95 更改所需的置信水平,并使用 B 参数更改引导样本的数量。例如,这里是用于创建具有 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") 
于 2013-12-25T20:33:22.740 回答