[R] Trouble passing list or non-list to function using ...
Jason Barnhart
jasoncbarnhart at msn.com
Sat May 27 10:23:05 CEST 2006
Sorry about that. I'm trying to pass a "tag=value" argument to a function
which creates a list using list(...).
Specifically, it's necessary for "tag" to become the name of the list
component - I'm not sure I'm using the right nomenclature.
I can make the call work explicitly here. But I would like to loop through
a list and pass list values to the function instead.
testme<-function(...){
dotlist<-list(...)
dotlist
}
Here's the desired output.
> testme(age=NA)
$age
[1] NA
Unfortunately, this doesn't work.
nm<-age
testme(nm=NA)
$nm
[1] NA
Please let me know if further clarification is needed.
I've tried various ways to pass the 'tag=value'; e.g. using list(nm=NA) and
so on, with no success
Thanks again,
-jason
----- Original Message -----
From: "Gabor Grothendieck" <ggrothendieck at gmail.com>
To: "Jason Barnhart" <jasoncbarnhart at msn.com>
Cc: <r-help at stat.math.ethz.ch>
Sent: Friday, May 26, 2006 6:04 PM
Subject: Re: [R] Trouble passing list or non-list to function using ...
Its not clear from your post which of the tests does not give you
the desired output and what the desired output is in that case.
Just guessing but maybe you meant to use testlist[[i]] instead of
testlist[i] in
the loop?
On 5/26/06, Jason Barnhart <jasoncbarnhart at msn.com> wrote:
> Hello,
>
> Simply put, I'm trying to call a function "testme" with value "age=NA".
> I wish to use "dotlist<-list(...)" inside the function and have dotlist
> become:
> $age
> [1] NA
>
> I'm modifying existing code and need to minimize changing that code so
> it's easiest to conform
> how I call the existing function.
>
> My sample code fragment, results, and R.version information are listed
> below. I've been searching
> for prior questions regarding this phenomena, but haven't quite figured
> out how to do this.
>
> Thank you in advance,
> -jason
>
>
>
> ##BEGIN TEST CODE
> ###########################################################
> testme<-function(...){
>
> dotlist<-list(...)
>
> dotlist
>
> }
>
> nm<-"age"
>
> testme(age=NA)
>
> testme(nm=NA)
>
> testme(age=NA,age2=NA)
>
> testlist<-list("age","age2")
>
> for (i in 1:length(testlist)){
>
> print(testme(testlist[i]))
>
> }
>
> ##END TEST CODE
> #############################################################
>
> ##BEGIN RESULTS
> #############################################################
> > testme<-function(...){
> +
> + dotlist<-list(...)
> +
> + dotlist
> +
> + }
> >
> > nm<-"age"
> >
> > testme(age=NA) *****This is what I'm really after****
> $age
> [1] NA
>
> >
> > testme(nm=NA)
> $nm
> [1] NA
>
> > #trying w/ 2 vars
> > testme(age=NA,age2=NA)
> $age
> [1] NA
>
> $age2
> [1] NA
>
> >
> > testlist<-list("age","age2")
> >
> > for (i in 1:length(testlist)){
> +
> + print(testme(testlist[i]))
> +
> + }
> [[1]]
> [[1]][[1]]
> [1] "age"
>
>
> [[1]]
> [[1]][[1]]
> [1] "age2"
>
> ##END RESULTS
> ###############################################################
>
> platform i386-pc-mingw32
> arch i386
> os mingw32
> system i386, mingw32
> status
> major 2
> minor 3.0
> year 2006
> month 04
> day 24
> svn rev 37909
> language R
> version.string Version 2.3.0 (2006-04-24)
>
> [[alternative HTML version deleted]]
>
> ______________________________________________
> R-help at 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
>
More information about the R-help
mailing list