[R] Creating and assigning variable names in loop
andrija djurovic
djandrija at gmail.com
Wed Dec 21 13:44:31 CET 2011
Hi. You assign two times different values to variable label. Try this
and i hope you will notice a mistake:
i=1
label <- paste("score", i, sep="_")
label
assign("label", x1+(x2*i) )
label
Instead of this you can do something like:
rm(list=ls())
n = 10
set.seed(1)
x1 = rnorm(n,0)
x2 = rnorm(n,0)
samp_data <- data.frame(x1,x2)
for( i in 1:3) {
samp_data <- cbind(samp_data, x1+(x2*i))
colnames(samp_data)[i+2] <- paste("score", i, sep="_")
}
head(samp_data)
Andrija
On Wed, Dec 21, 2011 at 11:01 AM, aajit75 <aajit75 at yahoo.co.in> wrote:
> Hello List
>
> I am trying to create and assign variable names in loop, but not able to get
> expected variable names.
>
> Here is the sample code
>
> n = 10
> set.seed(1)
> x1 = rnorm(n,0)
> x2 = rnorm(n,0)
> samp_data <- data.frame(x1,x2)
>
> for( i in 1:3) {
> label <- paste("score", i, sep="_")
> assign(label, value =x1+(x2*i) )
> samp_data <- cbind(samp_data, get(label))
> }
>
>> head(samp_data)
> x1 x2 get(label) get(label)
> get(label)
> 1 -0.6264538 1.51178117 0.8853274 2.3971085 3.9088897
> 2 0.1836433 0.38984324 0.5734866 0.9633298 1.3531730
> 3 -0.8356286 -0.62124058 -1.4568692 -2.0781098 -2.6993504
> 4 1.5952808 -2.21469989 -0.6194191 -2.8341190 -5.0488189
> 5 0.3295078 1.12493092 1.4544387 2.5793696 3.7043005
> 6 -0.8204684 -0.04493361 -0.8654020 -0.9103356 -0.9552692
>
> I am expecting new variables to be created in the samp_data are
> score_1 score_2 score_3, instead get(label) get(label) get(label)
> Where am I going wrong?
>
> Thanks in advance
> ~Ajit
>
> --
> View this message in context: http://r.789695.n4.nabble.com/Creating-and-assigning-variable-names-in-loop-tp4221080p4221080.html
> Sent from the R help mailing list archive at Nabble.com.
>
> ______________________________________________
> 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