R: "Unary operator error" from multiline ggplot2 command
This is a well-known nuisance when posting multiline commands in R. (You can get different behavior when you source()
a script to when you copy-and-paste the lines, both with multiline and comments)
Rule: always put the dangling '+' at the end of a line so R knows the command is unfinished:
ggplot(...) + geom_whatever1(...) +
geom_whatever2(...) +
stat_whatever3(...) +
geom_title(...) + scale_y_log10(...)
Don't put the dangling '+' at the start of the line, since that tickles the error:
Error in "+ geom_whatever2(...) invalid argument to unary operator"
And obviously don't put dangling '+' at both end and start since that's a syntax error.
So, learn a habit of being consistent: always put '+' at end-of-line.
cf. answer to "Split code over multiple lines in an R script"
It looks like you might have inserted an extra +
at the beginning of each line, which R is interpreting as a unary operator (like -
interpreted as negation, rather than subtraction). I think what will work is
ggplot(combined.data, aes(x = region, y = expression, fill = species)) +
geom_boxplot() +
scale_fill_manual(values = c("yellow", "orange")) +
ggtitle("Expression comparisons for ACTB") +
theme(axis.text.x = element_text(angle=90, face="bold", colour="black"))
Perhaps you copy and pasted from the output of an R console? The console uses +
at the start of the line when the input is incomplete.