Well I finally figured it out.  After proving to myself that it wasn't the 
Fortran wrapper with a simple example I started to dig into this.  The 
problem is that I was naming one of my parameters X... which is the name 
of the input value in lapply... I'm not sure if this is a bug or just the 
way it works but here is an example:

examplegood<-function(kn,XX)
{
  out<-sum(kn)*sum(XX)
  out
}

examplebad<-function(kn,X)
{
  out<-sum(kn)*sum(X)
  out
}

mylist<-vector("list")

for(i in 1:5) mylist[[i]]<-i

a<-1:10

Now run lapply and you get:

> lapply(mylist,examplebad,X=a)
Error in get(x, envir, mode, inherits) : variable "mylist" was not found

> lapply(mylist,examplegood,XX=a)
[[1]]
[1] 55

[[2]]
[1] 110

[[3]]
[1] 165

[[4]]
[1] 220

[[5]]
[1] 275

Well there you have it!

Cheers,
Jason


On Wed, 11 Feb 2004, Liaw, Andy wrote:

> My guess is that you probably refer to `mylist' instead of `x' inside
> `myfun'.  Please show us the entire code, rather than leave us guessing.
> 
> Andy
> 
> > From: Jason Nielsen
> > 
> > Hi all,
> > 
> > I'm trying to use lapply on a list with the following command:
> > 
> > out<-lapply(mylist,myfun,par1=p,par2=d)               (1)
> > 
> > where
> > 
> > myfun<-function(x,par1,par1) {.....}                  (2)
> > 
> > now this function is in fact a wrapper for some Fortran code I have
> > written so I think this might be the problem.  When I call 
> > lapply() as in
> > (1)  I get the following message:
> > 
> > Error in get(x, envir, mode, inherits) : variable "mylist" 
> > was not found
> > 
> > but if I say do:
> > 
> > out<-lapply(mylist,sum)
> > 
> > it returns a nice list with the sums of the elements in the list.  So
> > after all that I guess my question is does this have to do 
> > with the fact
> > that my function is a wrapper for my Fortran code (which 
> > works fine on its
> > own.. and if I use a loop as opposed to lapply() )?  I 
> > imagine that lapply
> > which is a wrapper for the .Internal lapply might have some 
> > trouble with
> > my Fortran wrapper?  Is this the case or is it something dumb 
> > on my end?  
> > Any input is appreciated.
> > 
> > Cheers,
> > Jason
> > 
> > ______________________________________________
> > [EMAIL PROTECTED] mailing list
> > https://www.stat.math.ethz.ch/mailman/listinfo/r-help
> > PLEASE do read the posting guide! 
> > http://www.R-project.org/posting-guide.html
> > 
> > 
> 
> 
> ------------------------------------------------------------------------------
> Notice:  This e-mail message, together with any attachments, contains information of 
> Merck & Co., Inc. (One Merck Drive, Whitehouse Station, New Jersey, USA 08889), 
> and/or its affiliates (which may be known outside the United States as Merck Frosst, 
> Merck Sharp & Dohme or MSD and in Japan, as Banyu) that may be confidential, 
> proprietary copyrighted and/or legally privileged. It is intended solely for the use 
> of the individual or entity named on this message.  If you are not the intended 
> recipient, and have received this message in error, please notify us immediately by 
> reply e-mail and then delete it from your system.
> ------------------------------------------------------------------------------
>

______________________________________________
[EMAIL PROTECTED] mailing list
https://www.stat.math.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html

Reply via email to