In the case of ?data.table()
dt1<-data.table(rbind(as.matrix(dat1),as.matrix(dat2))) ## converted the data.frame to matrix to mimic the situation dt2<- subset(dt1[,sum(V2),by=V1],V1!=0) setnames(dt2,2,"V2") dt2 # V1 V2 #1: 1 10 #2: 3 10 #3: 2 10 #or res<-with(as.data.frame(rbind(as.matrix(dat1),as.matrix(dat2))),aggregate(V2~V1,FUN=sum)) res1<- res[res[,1]!=0,] res1 # V1 V2 #2 1 10 #3 2 10 #4 3 10 A.K. ________________________________ From: Anindya Sankar Dey <anindy...@gmail.com> To: arun <smartpink...@yahoo.com> Sent: Friday, August 23, 2013 9:40 AM Subject: Re: [R] Combining two tables without going through lot of ifelse statement Mine is matrices, will this work on matrices as well? Thank for your help On Fri, Aug 23, 2013 at 7:02 PM, arun <smartpink...@yahoo.com> wrote: However it is not clear when you mention these are tables. There is ?table() and ?data.frame and the structure will be different in each case. Here, I assumed that your table is data.frame.. > > > > >----- Original Message ----- >From: arun <smartpink...@yahoo.com> >To: Anindya Sankar Dey <anindy...@gmail.com> >Cc: R help <r-help@r-project.org> >Sent: Friday, August 23, 2013 9:30 AM >Subject: Re: [R] Combining two tables without going through lot of ifelse > statement > >Hi, >Try: > >dat1<- read.table(text=" >1 10 >3 5 >0 0 >",sep="",header=FALSE) >dat2<- read.table(text=" >2 10 >0 0 >3 5 >",sep="",header=FALSE) >res<-with(rbind(dat1,dat2),aggregate(V2~V1,FUN=sum)) >res1<-res[res[,1]!=0,] > res1 ># V1 V2 >#2 1 10 >#3 2 10 >#4 3 10 > >#or >library(data.table) >dt1<- data.table(rbind(dat1,dat2)) > dt2<-subset(dt1[,sum(V2),by=V1],V1!=0) > setnames(dt2,2,"V2") > dt2 ># V1 V2 >#1: 1 10 >#2: 3 10 >#3: 2 10 > >A.K. > >----- Original Message ----- >From: Anindya Sankar Dey <anindy...@gmail.com> >To: r-help <r-help@r-project.org> >Cc: >Sent: Friday, August 23, 2013 8:59 AM >Subject: [R] Combining two tables without going through lot of ifelse >statement > >HI All, > >Suppose I have two table like below > >Table 1: > >1 10 >3 5 >0 0 > >Table 2: > >2 10 >0 0 >3 5 > > >I need to create a new table like below > >Table 3: > >1 10 >2 10 >3 10 > >The row may interchange in table 3, but is there any way to do this instead >of writing lot of if-else and loops? > >Thanks in advance. > >-- >Anindya Sankar Dey > > [[alternative HTML version deleted]] > >______________________________________________ >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. > > -- Anindya Sankar Dey ______________________________________________ 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.