Skip to content

adding rows to table

2 messages · Galanidis Alexandros, PIKAL Petr

#
Greetings everyone,

I'm trying to add a specific table or a specific number of rows (e.g.44) to a table with no success.

This is my basic table
year    plot spp       prop.B        DCA1    DCA2    DCA3    DCA4
1 2000    1   a1      0.031079  -0.0776 -0.0009  0.0259 -0.0457
2 2000    1   a2      0.968921  -0.0448  0.1479 -0.1343  0.1670
3 2000    2   a1      0.029218  -0.0776 -0.0009  0.0259 -0.0457
4 2000    2   a4      0.021678  -0.3052 -0.0275 -0.0330 -0.0516
5 2000    2   a5      0.088596   0.0357 -0.0382  0.0171 -0.0471
6 2000    2   a6      0.065033   0.1219 -0.0588 -0.1119 -0.1795

I want, every time that the plot number changes, to add a specific table (data2) or a specific number of rows underneath.

I've tried several variations of this with no result

for (i in 2:nrow(dataA))
{

ifelse(dataA$plot[i]!=dataA$plot[i-1],tab=data.frame(res[1:i,1:3]),a=1+1)


rbind(as.matrix(dataA[1:i,]),as.matrix(dataB[,])),a=1+1) 


}


many thanks
#
Hi

r-help-bounces at r-project.org napsal dne 17.09.2008 11:08:29:
to a
ifelse(dataA$plot[i]!=dataA$plot[i-1],tab=data.frame(res[1:i,1:3]),a=1+1)
One possibility is to use split lapply do.call approach.

add.row<-rep(NA,8*44)
dim(add.row)<-c(44,8)
names(add.row)
dim(add.row)
add.row<-data.frame(add.row)
names(add.row)<-names(data)
lapply(split(data, data$plot), function(x) rbind(x,add.row))

or if you want it in data frame

do.call(rbind,lapply(split(data, data$plot), function(x) 
rbind(x,add.row)))

Regards
Petr
http://www.R-project.org/posting-guide.html