[R] How to define a function (with '<-') that has two arguments?
thmsfuller066 at gmail.com
thmsfuller066 at gmail.com
Wed Jul 14 07:39:25 CEST 2010
Hi All,
The last line if the following code returns the error right below this
paragraph. Essentially, I use the operator %:% to retrieve a variable
in a nested frame. Then I want to use the same operator (with '<-') to
change its value. I'm not sure if this is possible in R with %:%
operator. Would you please help and let me how to correct the code if
it is possible?
Error in `%:%<-`(`*tmp*`, a, value = 2) : unused argument(s) (value = 2)
#####code###
`%:%`=function(x,y) {
if(!is.environment(x)) {
x=as.character(substitute(x))
x=get(x)
}
y=as.character(substitute(y))
get(y, envir=x)
}
assign('e1', new.env(parent=emptyenv()))
assign('e2', new.env(parent=emptyenv()), envir=e1)
assign('a', 3, envir=get('e2', envir=e1))
e1%:%e2%:%a
`%:%<-`=function(x,y,z) {
if(!is.environment(x)) {
x=as.character(substitute(x))
x=get(x)
}
y=as.character(substitute(y))
assign(y, z, envir=x)
}
e1%:%e2%:%a=2#fails here
--
Tom
More information about the R-help
mailing list