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: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
On Behalf Of Brant Inman
Sent: Friday, 1 February 2008 2:29 PM
To: r-help@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@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