我需要修改lm
(或最终loess
)函数,以便可以在 ggplot2 geom_smooth
(或stat_smooth
)中使用它。
例如,这是stat_smooth
正常使用的方式:
> qplot(data=diamonds, carat, price, facets=~clarity) + stat_smooth(method='lm')`
我想定义一个自定义lm2
函数用作method
in 参数的值stat_smooth
,这样我就可以自定义它的行为。
> lm2 <- function(formula, data, ...)
{
print(head(data))
return(lm(formula, data, ...))
}
> qplot(data=diamonds, carat, price, facets=~clarity) + stat_smooth(method='lm2')
请注意,我已method='lm2'
在stat_smooth
. 当我执行此代码时,出现错误:
eval 中的错误(expr,envir,enclos):“nthcdr”需要一个列表来 CDR 下来
我不太明白。该lm2
方法在stat_smooth
. 我玩了一下,遇到了不同类型的错误,但由于我对 R 的调试工具不满意,所以我很难调试它们。老实说,我不明白我应该在return()
电话中输入什么。