I have a simple function such as: foo <- function(x) { call <- lapply(match.call(), deparse) testit <- capture.output(tryCatch(eval(x), error = function(e) e)) if (grepl("Error", testit)) { return(call$x) } }
and I would like to detect a formula when x is not an object: # this works > foo(A + B) [1] "A + B" # but this doesn't > foo(A + B => C) Error: unexpected '=' in "foo(A + B =" Can I prevent it from evaluating the "=" sign? The addition sign "+" hasn't been evaluated, and I was hoping the "=" would not get evaluated either. The "=>" sign is important for other purposes, not related to this example. Thank you in advance, Adrian -- Adrian Dusa University of Bucharest Romanian Social Data Archive Soseaua Panduri nr.90 050663 Bucharest sector 5 Romania [[alternative HTML version deleted]] ______________________________________________ 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.