如果我嘗試手動撰寫ggplot2
情節的一些元素,它工作得很好:如何將多個ggplot2元素組合到一個函數的返回中?
> p <- ggplot(aes(x = mpg, y = hp), data = mtcars)
> p + geom_vline(xintercept = 20) + geom_point(data = mtcars)
但是,如果我嘗試捆綁的一些成分成一個函數,我得到一個錯誤:
> myFunction <- function() {
+ return(
+ geom_vline(xintercept = 20) + geom_point(data = mtcars)
+ )
+ }
> p <- ggplot(aes(x = mpg, y = hp), data = mtcars)
> p + myFunction()
Error in geom_vline(xintercept = 20) + geom_point(data = mtcars) :
non-numeric argument to binary operator
我錯過ggplot2
表示法,用於在函數體內正確組合ggplot2
元素嗎?
我認爲`+`操作符需要其中一個參數是`ggplot`類才能正常工作。 geoms不是`ggplot`對象,而是`p`圖。 – Sharpie 2011-01-30 07:03:21