non-numeric argument to binary operator
ggplot2, r
Solution
The error is because of the trailing `+` after `geom_point()`. Remove that and it should work.
Problem
I'm attempting to create my first function in R. The function should take in a data frame, x-series from data frame, y-series from data frame, and plot a scatter plot. Seems simple enough, but I run into trouble when I attempt to check for an optional boolean argument. R Script ``` plotScatterChart <- function(data,x,y,scale=y,line=FALSE) { require(ggplot2) data$x <- as.numeric(x) data$y <- as.numeric(y) plot <- ggplot(data, aes(x, y)) + geom_point() + # aes(alpha=0.3,color=scale) #scale_color_gradient(high="red") if(line) { plot <- plot + geom_smooth(method="lm") } ggsave(file="plot.svg", plot=plot, height=10, width=10) return(plot) } plotScatterChart(data=iris,x=iris$Petal.Length,y=iris$Petal.Width,line=TRUE) ``` Error ``` non-numeric argument to binary operator ``` Extra Other suggestions for improving this function are welcome.