[R] Using objectname in function
Duncan Murdoch
murdoch.duncan at gmail.com
Wed Aug 18 13:27:17 CEST 2010
On 18/08/2010 7:10 AM, JesperHybel wrote:
> Is there anyway I can convert a vectors objectname to a string to be used in
> fx:
>
> Monkey<-c(0,0,0,1,1,1)
> Wax<-c(1,0,1,0,1,0)
>
> f<-function(x,y){ table(x,y) }
>
> f(Monkey,Wax)
>
> so that the printout is not
>
> y
> x 0 1
> 0 1 2
> 1 2 1
>
> but
>
> Wax
> Monkey 0 1
> 0 1 2
> 1 2 1
>
>
deparse(substitute(x)) will give the expression that was passed as
argument x in the function. Getting table() to make use of these is a
little tricky. Probably the easiest way is to construct a call using
do.call():
f <- function(x, y) {
xname <- deparse(substitute(x))
yname <- deparse(substitute(y))
args <- list(x,y)
names(args) <- c(xname, yname)
do.call(table, args)
}
Duncan Murdoch
More information about the R-help
mailing list