Gdy próbuję ręcznie tworzyć pewne elementy ggplot2
działce, to działa dobrze:Jak mogę połączyć wiele elementów ggplot2 w zwrot funkcji?
> p <- ggplot(aes(x = mpg, y = hp), data = mtcars)
> p + geom_vline(xintercept = 20) + geom_point(data = mtcars)
Ale gdy próbuję związać kilka kompozycji do funkcji, pojawia się błąd:
> 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
Czy brakuje mi czegoś w notacji ggplot2
do poprawnego łączenia elementów wewnątrz ciała funkcyjnego z ggplot2
?
Myślę, że operator '+' wymaga jednego z argumentów, aby być klasy "ggplot", aby poprawnie działać jej magią. Geomeny nie są obiektami typu "ggplot", ale działka 'p' jest. – Sharpie