[R] create new column with colnames resulting from paste()

Dong-hyun Oh r.arecibo at gmail.com
Thu Jun 26 18:23:40 CEST 2008


Dear UseRs,

I would like to know the way to create a new column by naming it  
simultaneously.
For example, in for() loop I want to create columns named as  
paste("test", i, sep = ""), as shown below.

----------------------------
dt <- data.frame(a = c(1, 2, 3), b = c(3, 2, 2), c = c(1, 3, 5))

for(i in 1:2){
	dt$as.name(paste("test", i, sep = "")) <- rep(i, 3)
}
--------------------------

Error message of above command is as follows:
--------------------------
Error in dt$as.name(paste("test", i, sep = "")) <- rep(i, 3) :
target of assignment expands to non-language object
--------------------------


The structure of data.frame I want is as follows:
 > dt
a	b	c	test1	test2
1	3	2	1		2
2	2	3	1		2
3	2	5	1		2

Any help?

Thank you in advance.

Best,



=========================================================
Dong-hyun Oh
Center of Excellence for Science and Innovation Studies
Royal Institute or Technology, Sweden
e-mail: oh.dongh at gmail.com
cel: +46 73 563 45 22



More information about the R-help mailing list