Attributes of 1st argument in ...
Hi Daniel,
On 02.07.2010, at 23:26, Daniel Murphy wrote:
I am trying to get an attribute of the first argument in a call to a
function whose formal arguments consist of dots only and do something, e.g.,
call 'cbind', based on the attribute
f<- function(...) {get first attribute; maybe or maybe not call 'cbind'}
I thought of (ignoring "deparse.level" for the moment)
f<-function(...) {x <- attr(list(...)[[1L]], "foo"); if (x=="bar")
cbind(...) else x}
what about using the somewhat obscure ..1 syntax? This version runs quite a bit faster for me:
g <- function(...) {
x <- attr(..1, "foo")
if (x == "bar")
cbind(...)
else
x
}
but it will be hard to quantify how this pans out for your unless we know how many and what size and type the arguments are.
Cheers,
Olaf