Hi, 

I have this function (largely based on this post by Thomas Lumley : 
http://www.opensubscriber.com/message/[EMAIL PROTECTED]/6984642.html)

> yapply
function(X,FUN, ...) {
  index <- seq(length.out=length(X))
  namesX <- names(X)
  if(is.null(namesX)) namesX <- rep(NA,length(X)) 

  FUN <- match.fun(FUN)
  fnames <- names(formals(FUN))
  if( ! "INDEX" %in% fnames ){
    formals(FUN) <- append( formals(FUN), alist(INDEX=) )
  }
  if( ! "NAMES" %in% fnames ){
    formals(FUN) <- append( formals(FUN), alist(NAMES=) )
  }
  mapply(FUN,X,INDEX=index, NAMES=namesX,MoreArgs=list(...))
}

> yapply(temp, function(x) x^2 ) 
 x  y  x 
 4  9 16 
> yapply(temp, function( x ) INDEX ) 
x y x 
1 2 3 
> yapply(temp, function( x ) NAMES ) 
  x   y   x 
"x" "y" "x" 

Cheers, 

Romain

-----Original Message-----
From: [EMAIL PROTECTED] on behalf of [EMAIL PROTECTED]
Sent: Fri 11/04/2008 22:35
To: [EMAIL PROTECTED]; [EMAIL PROTECTED]
Subject: Re: [R] conditioning inside an lapply
 
>From: [EMAIL PROTECTED]
>Date: 2008/04/11 Fri PM 04:16:56 CDT
>To: [EMAIL PROTECTED]
>Subject: [R] conditioning inside an lapply

in my previous example, the last name in temp should
have been z not x. i didn't intend to have
duplicate names in temp. I apologize for any
confusion that caused.

>This is probably basic but I want to condition based
>on the name of the component inside an lapply.
>
>So, in the simple example below, if .elem was x
>i want to do one thing but if it's y a
>different thing etc. Can someone tell me
>how to do that without using names(temp)
>as the thing one sends into the lapply ?
>Thanks.
>
>temp <- list(x=2,y=3,x=4)
>
>invisible(lapply(temp, function(.elem) {
>       print(.elem)
>     }))
>
>______________________________________________
>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.

______________________________________________
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.


        [[alternative HTML version deleted]]

______________________________________________
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.

Reply via email to