[R] Converting a character string into an object variable

Bill.Venables at csiro.au Bill.Venables at csiro.au
Fri Feb 1 05:52:24 CET 2008


This is pretty standard.  Here are two solutions, there are many more.

input.value <- 3*(1:50)
for(i in 1:50) 
	assign(paste("V", i, sep = ""), input.value[i])

---
input.value <- 3*(1:50)
for(i in 1:50) eval(substitute(

	V <- input.value[i], 
		
	list(V = as.name(paste("V", i, sep = "")))))
---

The second is more obscure, but points to a more general way of doing
things.  I hope!

Bill Venables.



-----Original Message-----
From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-project.org]
On Behalf Of Brant Inman
Sent: Friday, 1 February 2008 2:29 PM
To: r-help at r-project.org
Subject: [R] Converting a character string into an object variable

R-helpers:

 Assume that I want to create a series of sequentially named R objects.
For
example, I might want to call these objects V1, V2, V3 ... V50.  To do
this,
I thought of some sort of looping function like:

 input.value <- seq(1:50) * 3
for(i in 1:50){
   paste("V", i, sep="") <- input.value[i]
}


 Of course this loop will not work since the paste function returns a
character string that cannot be a variable.  How can I construct a loop
to
create sequential variables and assign a value to them in the same
spirit of
the loop above?

 Brant Inman
Mayo Clinic

	[[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