中使用它,我需要修改lm
(或最終loess
)功能,這樣我就可以在GGPLOT2的geom_smooth
(或stat_smooth
)使用它。修改LM或黃土功能GGPLOT2的geom_smooth
例如,這是多麼stat_smooth
正常使用:
> qplot(data=diamonds, carat, price, facets=~clarity) + stat_smooth(method='lm')`
我想自定義一個lm2
功能stat_smooth
的價值要用於method
參數,這樣我就可以自定義其行爲。
> lm2 <- function(formula, data, ...)
{
print(head(data))
return(lm(formula, data, ...))
}
> qplot(data=diamonds, carat, price, facets=~clarity) + stat_smooth(method='lm2')
注意,我在stat_smooth
使用method='lm2'
作爲參數。 當我執行這個代碼得到錯誤:
Error in eval(expr, envir, enclos) : 'nthcdr' needs a list to CDR down
我不很瞭解。在stat_smooth
之外運行時,lm2
方法運行良好。我玩了這一點,並且出現了不同類型的錯誤,但是由於我不熟悉R的調試工具,所以我很難調試它們。老實說,我沒有得到我應該在return()
的呼叫。
謝謝!很好的答案,我的問題是,我不知道我必須調用match.call以及如何使用它。我真正想要做的就是跳過對點數太少的數據集的lm評估(這可能會在您做出方面時發生,請參閱http://groups.google.com/group/ggplot2/browse_thread/thread/df6da9d72f0a1dbf#)但我想看一個一般情況。 – dalloliogm
最後,我通過向ggplot2的作者報告並等待他解決問題來解決我的問題。 – dalloliogm