no need for a for loop - we can vectorize this:

> dt <- data.frame(a = c(1, 2, 3), b = c(3, 2, 2), c = c(1, 3, 5))
> dt
  a b c
1 1 3 1
2 2 2 3
3 3 2 5
> dt[,paste("test", 1:2, sep="")] = rep(1:2, each=3)
> dt
  a b c test1 test2
1 1 3 1     1     2
2 2 2 3     1     2
3 3 2 5     1     2


on 06/26/2008 12:42 PM jim holtman said the following:
Is this what you want

dt <- data.frame(a = c(1, 2, 3), b = c(3, 2, 2), c = c(1, 3, 5))
for (i in 1:2){
+     dt[[paste('test',i,sep="")]] <- rep(i,3)
+ }
dt
  a b c test1 test2
1 1 3 1     1     2
2 2 2 3     1     2
3 3 2 5     1     2


On Thu, Jun 26, 2008 at 12:23 PM, Dong-hyun Oh <[EMAIL PROTECTED]> wrote:
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: [EMAIL PROTECTED]
cel: +46 73 563 45 22

______________________________________________
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