> On Mar 20, 2017, at 4:42 AM, Troels Ring <tr...@gvdnet.dk> wrote: > > Dear friends - here is an example of something that I find annoying > > library(ggplot2) > DDF <- data.frame(x=x<-seq(1,10),y=x^2) > G <- ggplot(data=DDF,aes(x=x,y=y)) + geom_point() > GG<-G+ylab(expression(paste("Total ",CO[2]," halved"))) > GG > GG+annotate("text",x=5,y=50,label=expression(paste("Total ",CO[2]," halved"))) > > On my system, R version 3.3.2 (2016-10-31) Windows - the third line produces > the wanted formatting of CO2 with "2" lowered - while the last line produces > an error "invalid 'type' (expression) of argument" - with exactly the same > string - how comes? > > Beautiful ggplot is not exactly low in documentation but finding the right > stuff is not always easy (for me:-))
As the Posting Guide recommends, the question should include the complete text of the error message: "Error in stats::complete.cases(df[, vars, drop = FALSE]) : invalid 'type' (expression) of argument" In this case, however I find that message completely opaque and the results of traceback() likewise uninformative, so going back to the help pages, always a good place to start, notice that the last example on `?annotate` is isomorphic to you problem, so try using the curiously unlisted `parse`-parameter to annotate. The parse parameter according to the documentation is being passed to `layer`, but `?layer` doesn't describe a parse parameter so I think it's a defect (somewhere) in the ggplot2 help pages. GG + annotate("text", x=5, y=50, label = "Total~CO[2]~halved", parse=TRUE) I have removed the call to `paste` since I find that it's use inhibits learning to use expressions most economically. I think it's better to use the tilde rather than assembling a mishmash of quoted and unquoted sub-expressions. -- David. > > Best wishes > Troels Ring, MD > Aalborg, Denmark > > ______________________________________________ > R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code. David Winsemius Alameda, CA, USA ______________________________________________ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.