Hi All,

Arun's solution is working.

Now can someone help me in just an expansion.


If we have multiple table like this, adding them in rbind is working, but
if I want a generic function where we do not know how many tables will be
created can that also be avoided from using loops.


On Fri, Aug 23, 2013 at 7:15 PM, arun <smartpink111@yahoo.com> wrote:

>
>
> 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 <anindya55@gmail.com>
> To: arun <smartpink111@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 <smartpink111@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 <smartpink111@yahoo.com>
> >To: Anindya Sankar Dey <anindya55@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 <anindya55@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
>



-- 
Anindya Sankar Dey

	[[alternative HTML version deleted]]

