Re: [R] functions and strings

From: Robin Hankin <>
Date: Wed 13 Sep 2006 - 08:22:58 GMT

Hi Dmitris, Thierry,

I'm getting there but it's still not quite right if f() includes something like x^2:

f <- function(x){exp(x^2)}

gsub("(x)", "(xyz)", deparse(body(f))[2], fixed = TRUE)

[1] " x^2"

[I don't care about the spaces]


  I can't quite see how to implement Thierry's suggestion about changing the letter "x" into a letter that does not occur in f(), because of the
following example:

  f <- function(x){abcdefghijklmnopqrstuvwxyz(x^2)}

On 13 Sep 2006, at 09:08, Dimitris Rizopoulos wrote:

> yes you're right, maybe this is better
>> f <- function(x){sin(x)+exp(x)}
>> strng <- gsub("(x)", "(xyz)", deparse(body(f))[2], fixed = TRUE)
>> sub('^[[:space:]]+', '', strng)
> [1] "sin(xyz) + exp(xyz)"
> Best,
> Dimitris

Robin Hankin
Uncertainty Analyst
National Oceanography Centre, Southampton
European Way, Southampton SO14 3ZH, UK
  tel  023-8059-7743

______________________________________________ mailing list
PLEASE do read the posting guide
and provide commented, minimal, self-contained, reproducible code.
Received on Wed Sep 13 18:28:18 2006

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.1.8, at Wed 13 Sep 2006 - 08:30:05 GMT.

Mailing list information is available at Please read the posting guide before posting to the list.