[R] Replacement in an expression - can't use parse()
Daniel Berg
daniel at danielberg.no
Tue Mar 27 15:56:42 CEST 2007
Dear all,
Suppose I have a very long expression e. Lets assume, for simplicity, that it is
e = expression(u1+u2+u3)
Now I wish to replace u2 with x and u3 with 1. I.e. the 'new'
expression, after replacement, should be:
> e
expression(u1+x+1)
My question is how to do the replacement?
I have tried using:
> e = parse(text=gsub("u2","x",e))
> e = parse(text=gsub("u3",1,e))
Even though this works fine in this simple example, the use of parse
when e is very long will fail since parse has a maximum line length
and will cut my expressions. I need to keep mode(e)=expression since I
will use e further in symbolic derivation and division.
Any suggestions are most welcome.
Thank you.
Regards,
Daniel Berg
More information about the R-help
mailing list