Greetings, I would like to use a data.frame with strings to feed the expression() in the title of a plot. The way I did this is:
molecules <-data.frame(name=c("o3","no","no2"),expression=c("quote(O[3])","quote(NO)","quote(NO[2])")) for (mol in c(5,7,9)) { plot(x, y, type="b", main=eval(substitute(expression(paste(mol," Year 2005")), list(mol=eval(parse("",text=toString(molecules$expression[(mol-3)/2]))))))) } However, this looks cumbersome and I'm sure there is a way to do this in R that is much more simple. The complexity of the expression above is mainly due to the fact that the only way I could find to convert a string read from a data.frame into a symbol was to enclose it in "quote(symbol)" and call toString on the result, since selecting string data from a data.frame returns an object that is not a string (why is this so? A data.frame with doubles returns doubles). What do you think? Thanks in advance. ______________________________________________ R-help@stat.math.ethz.ch mailing list 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.