我想为ggplot2创建一个自定义Stat对象。 (具体来说,我希望创建一个更平滑的工作方式,而不是stat_smooth
允许的工作方式 - 例如,没有y~x
建模功能 - 但还有其他自定义统计信息我喜欢即使我的具体案例有解决方法,也要创建。)
我找到this suggested solution from Hadley Wickham:
StatExpo <- proto(Stat, {
objname <- "expo"
desc <- "Exponential smoothing"
default_geom <- function(.) GeomLine
calculate_groups <- function(., data, scales, variable="x", ...) {
data$y <- HoltWinters(data$x, ...)
}
})
stat_expo <- StatExpo$new
然而,当我尝试它时,我得到:
Error in proto(Stat, { : object 'Stat' not found
环顾ggplot code后,我找到了where Stat is defined。但是,就我所知,Stat
对象是never exported from ggplot2。
我可以在ggplot2/R
文件夹中编写我的新stat对象,然后重新安装软件包,但显然这会很麻烦,并且很难与其他人共享解决方案。如何在ggplot命名空间之外创建自定义Stat对象?
答案 0 :(得分:4)
ggplot2:::Stat
可用于访问未导出的对象。
答案 1 :(得分:1)
getFromNamespace('Stat','ggplot2')