Hi the list, I am writing a function in which I need to affect a variable on a higher level. My fnction could be:
++++++++++++++++++ fooBis <- function(x){ nameObject <- deparse(substitute(x)) print(nameObject) assign(nameObject,4,envir=parent.frame()) } > fooBis(e) [1] "e" > e [1] 4 ----------------- (to simplify, this fnction can affect only the number 4. But it does it in the parent frame). My problem is that I use S4 programming. So the code becomes: +++++++++++++ setGeneric("foo",function(x){standardGeneric("foo")}) setMethod("foo","ANY", function(x){ nameObject <- deparse(substitute(x)) print(nameObject) assign(nameObject,4,envir=parent.frame()) } ) ----------- But it does not work since the definition of foo is now: +++++++++ > foo nonstandardGenericFunction for "foo" defined from package ".GlobalEnv" function (x) { standardGeneric("foo") } <environment: 0x125b7c0c> ----------------- So how can I solve this problem? Is it possible to assign a value to a variable on the upper level using S4? Sincerely Christophe -- View this message in context: http://r.789695.n4.nabble.com/deparse-substitute-then-assign-in-a-S4-methods-tp4356748p4356748.html Sent from the R help mailing list archive at Nabble.com. ______________________________________________ R-help@r-project.org 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.