Re: [R] Using data=x or subset=y in user-defined functions

From: Manuel Morales <Manuel.A.Morales_at_williams.edu>
Date: Fri 09 Jun 2006 - 04:56:34 EST

On Thu, 2006-06-08 at 11:54 -0400, Manuel Morales wrote:
> On Wed, 2006-06-07 at 21:36 +0100, Prof Brian Ripley wrote:
> > I suggest you investigate with().

Thanks for the suggestion! Unfortunately, it's not clear to me how to call with() from a function. The example below fails with the error message: 'Error in mean(x) : object "a" not found'

data.test <- data.frame(a=c(1:10),b=rnorm(10))

eg.function <- function(x, data)
  with(data, return(mean(x)))

eg.function(a,data.test)

Manuel

> Thanks! Just to be sure, the following will do what I want?
>
> eg.function <- function(x, data=NULL, subset=NULL, ...) {
> with(if(is.null(subset)) data else subset(data,subset), {
>
> ...
>
> })
> }
>
> > On Wed, 7 Jun 2006, Manuel Morales wrote:
> >
> > > Dear list members,
> > >
> > > In some of my functions, I attach the data internally to allow subset
> > > commands or to specify a data frame. This works well except for cases
> > > where there is a "masking" conflict (which returns a warning). I see
> > > some alternative listed in ?attach, but I'm not sure which of them do
> > > what I'd like. Any suggestions?
> > >
> > > Below is how I've been setting up my functions:
> > >
> > >
> > >
> > > # Set up environment
> > > on.exit(detach(data))
> > > attach(data)
> > > if(!is.null(subset)) {
> > > data<-subset(data,subset)
> > > detach(data)
> > > attach(data)
> > > }
> > > subset = NULL
> > >
> > > # Function body here
> > > output <- x
> > > return(output)
> > > }
> > >
> > > Thanks!
> > >
> > > Manuel
> > >
> > > ______________________________________________
> > > R-help@stat.math.ethz.ch mailing list
> > > https://stat.ethz.ch/mailman/listinfo/r-help
> > > PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
> > >
> >
>
> ______________________________________________
> R-help@stat.math.ethz.ch mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html



R-help@stat.math.ethz.ch mailing list
https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html Received on Fri Jun 09 06:15:40 2006

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.1.8, at Fri 09 Jun 2006 - 08:14:57 EST.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help. Please read the posting guide before posting to the list.