Cool.
Using [[var]] instead of $var to extract the expected variable is really
what i want.
Thanks. Guys.

2010/4/7 Steve Lianoglou <mailinglist.honeypot@gmail.com>

> Hi,
>
> On Wed, Apr 7, 2010 at 6:27 PM, rusers.sh <rusers.sh@gmail.com> wrote:
> > Hi all,
> >  My problem may be related with the list manipulations. See below.
> > #example data
> >  a<-list()
> >  a[[1]]<-data.frame(matrix(c(1:4),ncol=2));
> > a[[2]]<-data.frame(matrix(c(5:8),ncol=2))
> >  I can use a[[1]]$X1,a[[1]]$X2,a[[2]]$X1,a[[2]]$X2 to use the
> corresponding
> > variables. But what i need to do is to use function parameters to specify
> > the variable names. The variable names will be different for various
> > dataset, so i need a common place to indicate it.
> >  Something like,
> > b<-function(var1=X1,var2=X2) {
> >  for (n in 1:2) {
> >  paste("a", "[[",n, "]]","$","var1", sep="")
> >  paste("a", "[[",n, "]]","$","var2", sep="")
> >  }
> > }
> >  b(var1=X1,var2=X2) will have the same effect
> > as a[[1]]$X1,a[[1]]$X2,a[[2]]$X1,a[[2]]$X2. Unfortunately, it does not
> > work.
> >  Anybody can give me some suggestions on this? Hope it is clear for this
> > question.
>
> I'm not really sure what you're trying to do, but if you just want to
> select out certain columns of a data.frame by passing the name of the
> column around in someway, pass its name as a string and select the
> collumn using [[var]] instead of $var.
>
> For instance, using your data.frame ``a``. Say I want to either pull
> out 'X1', or 'X2', you could do:
>
> R> some.column <- 'X1'
> R> a[[1]][[some.column]]
>
> So whatever you are trying to do in your b() function, maybe you would
> change it like so:
>
> b <- function(var1='X1', var2='X2') {
>  ## notice 'X1' and 'X2' are in quote in mine
>  ...
>  cat(a[[n]][[var1]], '\n')
> }
>
> Also -- your call to `paste` isn't doing what I think you think it's
> doing (what do you want it to do?)
>
> Does that get you closer to what you need?
>
> -steve
>
> --
> Steve Lianoglou
> Graduate Student: Computational Systems Biology
>  | Memorial Sloan-Kettering Cancer Center
>  | Weill Medical College of Cornell University
> Contact Info: http://cbio.mskcc.org/~lianos/contact
>



-- 
-----------------
Jane Chang
Queen's

	[[alternative HTML version deleted]]

