In the long run it will probably make your life much easier to read all the 
dataframes into one large list (and have the names of the elements be what your 
currently name the dataframes), then you can just use regular list indexing 
(using [[]] rather than $ in most cases) instead of having to worry about get 
and assign and the risks/subtleties involved in using those.

Hope this helps,

--
Gregory (Greg) L. Snow Ph.D.
Statistical Data Center
Intermountain Healthcare
[EMAIL PROTECTED]
801.408.8111


> -----Original Message-----
> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
> project.org] On Behalf Of tsunhin wong
> Sent: Monday, December 08, 2008 8:45 AM
> To: Jim Holtman
> Cc: r-help@r-project.org
> Subject: Re: [R] Transforming a string to a variable's name? help me
> newbie...
>
> Thanks Jim and All!
>
> It works:
> tmptrial <- trialcompute(trialextract(
> get(paste("t",tmptrialinfo[1,2],tmptrialinfo[1,16],".gz",sep="")) ,
> tmptrialinfo[1,32],secs,sdm),secs,binsize)
>
> Can I use "assign" instead? How should it be coded then?
>
> Thanks!
>
> - John
>
> On Mon, Dec 8, 2008 at 10:40 AM, Jim Holtman <[EMAIL PROTECTED]>
> wrote:
> > ?get
> >
> >
> > Sent from my iPhone
> >
> > On Dec 8, 2008, at 7:11, "tsunhin wong" <[EMAIL PROTECTED]> wrote:
> >
> >> Dear all,
> >>
> >> I'm a newbie in R.
> >> I have a 45x2x2x8 design.
> >> A dataframe stores the metadata of trials. And each trial has its
> own
> >> data file: I used "read.table" to import every trial into R as a
> >> dataframe (variable).
> >>
> >> Now I dynamically ask R to retrieve trials that fit certain
> selection
> >> criteria, so I use "subset", e.g.
> >> tmptrialinfo <- subset(trialinfo, (Subject==24 &
> Filename=="v2msa8"))
> >>
> >> The name of the dataframe / variable of an individual trial can be
> >> obtained using:
> >> paste("t",tmptrialinfo[1,2],tmptrialinfo[1,16],".gz",sep="")
> >> Then I get a string:
> >> "t24v2msa8.gz"
> >> which is of the exact same name of the dataframe / variable of that
> >> trial, which is:
> >> t24v2msa8.gz
> >>
> >> Can somebody tell me how can I change that string (obtained from
> >> "paste()" above) to be a usable / manipulable variable name, so that
> I
> >> can do something, such as:
> >> (1)
> >> tmptrial <- trialcompute(trialextract(
> >> paste("t",tmptrialinfo[1,2],tmptrialinfo[1,16],".gz",sep="")
> >> ,tmptrialinfo[1,32],secs,sdm),secs,binsize)
> >> instead of hardcoding:
> >> (2)
> >> tmptrial <-
> >>
> trialcompute(trialextract(t24v2msa8.gz,tmptrialinfo[1,32],secs,sdm),sec
> s,binsize)
> >>
> >> Currently, 1) doesn't work...
> >>
> >> Thanks in advance for your help!
> >>
> >> Regards,
> >>
> >>     John
> >>
> >> ______________________________________________
> >> 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.

______________________________________________
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