[R] Returning combine output from R loop

Blaser Nello nblaser at ispm.unibe.ch
Fri May 31 10:12:19 CEST 2013

In line with what you are doing now, but saving the intermediate results
you could use something like this. 

a3 <- a0
for( i in 1:3)
  a1 <- a0$initial_size+a0$grow
  a2<- cbind(sp=a0$sp,initial_size=a1+i,yr=i)
  a3 <- cbind(a3, a2)

However, I would suggest one of the following solutions instead. Which
one is best depends on what you want to do with the data after. 

res1 <- do.call(cbind,c(a0,lapply(1:maxYears, function(k){
  data.frame(yr=k, size=a0$initial_size+k*a0$grow)

res2 <- do.call(cbind,c(a0,lapply(1:maxYears, function(k){
  ans <- data.frame(a0$initial_size+k*a0$grow)
  names(ans) <- paste0("size.", k)

res3 <- do.call(rbind,lapply(1:maxYears, function(k){
  cbind(id=1:nrow(a0), sp=a0$sp, yr=k, size=a0$initial_size+k*a0$grow)
res3 <- res3[order(res3[,"id"], res3[,"yr"]),]


-----Original Message-----
From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-project.org]
On Behalf Of Abdul Rahman bin Kassim (Dr.)
Sent: Freitag, 31. Mai 2013 08:37
To: r-help at r-project.org
Subject: [R] Returning combine output from R loop

Dear R-User,

Appreciate any advice on producing combine  output from an R loop.
Planning to project the growth (grow) of  plant species (sp) from its
initia size (initial_size). Using the follwing example, how can I
produce the results combining the output from 3 iteration. The ouput a2
produce only the last iteration.

Thanks in advanced for your advice.
  a0 <- data.frame(initial_size=sample(30,10),sp=gl(2,5,10),

  for( i in 1:3)
  a1 <- a0$initial_size+a0$grow
  a2<- cbind(sp=a0$sp,initial_size=a1+i,yr=i)


Abd Rahman

Dr. Abd Rahman Kassim
Program Kualiti Air
Bahagian Perhutanan & Alam Sekitar
Institut Penyelidikan Perhutanan Malaysia Kepong 52109 Selangor

Tel: 013-3380905/03-62797179
Email: rahmank at frim.gov.my

For E-Mail Disclaimer, please click

	[[alternative HTML version deleted]]

R-help at r-project.org mailing list
PLEASE do read the posting guide
and provide commented, minimal, self-contained, reproducible code.

More information about the R-help mailing list