[R] Concatenate a mix of numbers and letters to create a vector name

Greg Snow Greg.Snow at imail.org
Tue Jul 27 23:39:41 CEST 2010


This is a frequently asked/answered question (7.21 in the FAQ).  What searching did you do and why did it not find this FAQ or previous discussion of it?  How could the documentation/search/etc. be improved so that you (and the next n people with this question) will find the answer easier?

The most important of part of the FAQ answer is the last section where it points out that using a list will be much simpler.  You mentioned in the first post that you were doing this in a loop, just start with an empty list, use paste (or sprintf) to create the name, and then assign it as a new element of the list with that name (e.g. mylist[[ sprintf('tmax.%d%d', var1, var2) ]] <- outputfromcomputations ).

-- 
Gregory (Greg) L. Snow Ph.D.
Statistical Data Center
Intermountain Healthcare
greg.snow at imail.org
801.408.8111

> -----Original Message-----
> From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-
> project.org] On Behalf Of Panos Hadjinicolaou
> Sent: Monday, July 26, 2010 8:24 AM
> To: r-help at r-project.org
> Subject: Re: [R] Concatenate a mix of numbers and letters to create a
> vector name
> 
> Thanks for the reply. Indeed the paste function results in
> concatenation:
>  > paste(c("tmax.", 1950, 12), collapse="")
> [1] "tmax.195012"
> 
> but  I am looking for a way to subsequently get rid of the - " - in
> order to  use tmax.195012 as an object (e.g. to define a vector with
> that name).  Any ideas?
> 
> Thanks,
> 
> Panos
> 
>   _____
> 
> From: Dimitris Rizopoulos [mailto:d.rizopoulos at erasmusmc.nl]
> To: Panos Hadjinicolaou [mailto:p.hadjinicolaou at cyi.ac.cy]
> Cc: r-help at r-project.org
> Sent: Mon, 26 Jul 2010 16:48:31 +0300
> Subject: Re: [R] Concatenate a mix of numbers and letters to create a
> vector name
> 
> have a look at function paste(), i.e., ?paste
> 
> 
>   I hope it helps.
> 
>   Best,
>   Dimitris
> 
> 
>   On 7/26/2010 3:44 PM, Panos Hadjinicolaou wrote:
>   > Dear all,
>   >
>   > I am trying to create a vector name, for example tmax.195012 from
> tmax., 1950 and 12. Obviously I don't wish to simply type it because
> the 3 name components are changing in each iteration within a loop. Is
> there any way of concatenating those 3 components (which are a mixture
> of numbers and letters)?
>   >
>   > Thanks for reading,
>   >
>   > Panos
>   >
>   > -----------------------------------------------------------------
>   > Dr Panos Hadjinicolaou
>   >
>   > Energy Environment&  Water Research Center (EEWRC)
>   > The Cyprus Institute
>   > ------------------------------------------------------------------
>   >  [[alternative HTML version deleted]]
>   >
>   > ______________________________________________
>   > R-help at 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.
>   >
> 
>   --
>   Dimitris Rizopoulos
>   Assistant Professor
>   Department of Biostatistics
>   Erasmus University Medical Center
> 
>   Address: PO Box 2040, 3000 CA Rotterdam, the Netherlands
>   Tel: +31/(0)10/7043478
>   Fax: +31/(0)10/7043014
> 	[[alternative HTML version deleted]]
> 
> ______________________________________________
> R-help at 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.



More information about the R-help mailing list