This may come closer since it removes the zeros before comparison: > x=c(1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,2,2,2,3,3,0,0,0,0,0,0,0,0,0,0,1,1,1,2,2,3,3,3,4,4,4,0,0,0,0,0,0,0,1,1,1,2,2,2,3,3,3,4,4,4, + 0,0,0,0,0,0,1,2,2,2,2,2,0,3,3,0,4,4,0,0,0,0,0,0) > x=array(x,dim=c(3,6,5)) > apply(x,3,function(.mat){ + rows <- table(apply(.mat,1,function(z){ + # remove the zeros + z <- z[z != 0] + if (length(z) == 0) return(NULL) + paste(z,collapse=' ') + })) + names(rows[which.max(rows)]) + }) [1] "1" "1 2 3" "1 2 3 4" "1 2 3 4" "2 2 3 4" > > >
On Sat, Sep 6, 2008 at 12:48 PM, Muhammad Azam <[EMAIL PROTECTED]> wrote: > Dear R community > Initially i thought my problem has been solved but one thing which i found > e.g. if > 1. All the elements of a sector are zero e.g > , , 7 > > [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] > [1,] 0 0 0 0 0 0 0 0 0 0 > [2,] 0 0 0 0 0 0 0 0 0 0 > [3,] 0 0 0 0 0 0 0 0 0 0 > [4,] 0 0 0 0 0 0 0 0 0 0 > [5,] 0 0 0 0 0 0 0 0 0 0 > > 2. Majority of the rows consist of zeros e.g. > , , 5 > > [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] > [1,] 4 4 0 0 0 0 0 0 0 0 > [2,] 4 4 0 0 0 0 0 0 0 0 > [3,] 0 0 0 0 0 0 0 0 0 0 > [4,] 0 0 0 0 0 0 0 0 0 0 > [5,] 0 0 0 0 0 0 0 0 0 0 > > Actually > zeros are not my values. I get values and fill the remaining parts with > zeros like "x=array(0,dim=c(3,6,5))". Now according to first strategy > "0 0 0 0 0 0 0 0 0 0" are most repeated > sequence of rows in both of above cases. But i don't want to consider > cases where all elements are zeros and interested to get "4 4 > 0 0 0 0 0 0 0 0" or just " 4 4 " in case 2. > Thanks and best regards > > Muhammad Azam > > > > > > ----- Original Message ---- > From: jim holtman <[EMAIL PROTECTED]> > To: Muhammad Azam <[EMAIL PROTECTED]> > Cc: R Help <r-help@r-project.org>; R-help request <[EMAIL PROTECTED]> > Sent: Saturday, September 6, 2008 2:39:19 PM > Subject: Re: [R] request: most repeated sequnce > > Here is a start. You can delete the zeros: > >> x=c(1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,2,2,2,3,3,0,0,0,0,0,0,0,0,0,0,1,1,1,2,2,3,3,3,4,4,4,0,0,0,0,0,0,0,1,1,1,2,2,2,3,3,3,4,4,4, > + 0,0,0,0,0,0,1,2,2,2,2,2,0,3,3,0,4,4,0,0,0,0,0,0) >> x=array(x,dim=c(3,6,5)) >> apply(x,3,function(.mat){ > + rows <- table(apply(.mat,1,function(z){ > + paste(z,collapse=' ') > + })) > + names(rows[which.max(rows)]) > + }) > [1] "1 0 0 0 0 0" "1 2 3 0 0 0" "1 2 3 4 0 0" "1 2 3 4 0 0" "2 2 3 4 0 0" >> > > On Sat, Sep 6, 2008 at 4:54 AM, Muhammad Azam <[EMAIL PROTECTED]> wrote: >> Dear R community >> Hope every one be in best of his/her health. I have a situation in which >> there are s-sectors. Each sector is further divided into r-rows and >> c-columns. All it makes an array having dimension (r,c,s). e.g. >> >> x=c(1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,2,2,2,3,3,0,0,0,0,0,0,0,0,0,0,1,1,1,2,2,3,3,3,4,4,4,0,0,0,0,0,0,0,1,1,1,2,2,2,3,3,3,4,4,4, >> 0,0,0,0,0,0,1,2,2,2,2,2,0,3,3,0,4,4,0,0,0,0,0,0) >> x=array(x,dim=c(3,6,5)) >>> x >> , , 1 >> >> [,1] [,2] [,3] [,4] [,5] [,6] >> [1,] 1 0 0 0 0 0 >> [2,] 1 0 0 0 0 0 >> [3,] 1 0 0 0 0 0 >> >> , , 2 >> >> [,1] [,2] [,3] [,4] [,5] [,6] >> [1,] 1 2 3 0 0 0 >> [2,] 1 2 3 0 0 0 >> [3,] 1 2 0 0 0 0 >> >> , , 3 >> >> [,1] [,2] [,3] [,4] [,5] [,6] >> [1,] 1 2 3 4 0 0 >> [2,] 1 2 3 4 0 0 >> [3,] 1 3 4 0 0 0 >> >> , , 4 >> >> [,1] [,2] [,3] [,4] [,5] [,6] >> [1,] 1 2 3 4 0 0 >> [2,] 1 2 3 4 0 0 >> [3,] 1 2 3 4 0 0 >> >> , , 5 >> >> [,1] [,2] [,3] [,4] [,5] [,6] >> [1,] 1 2 0 0 0 0 >> [2,] 2 2 3 4 0 0 >> [3,] 2 2 3 4 0 0 >> >> I want to get the most repeated sequence (row-wise) of values in each >> sector. e.g. in sector 1 i.e. , , 1 >> the most repeated sequence is 1 (ignoring zeros). In , , 2 the most repeated >> sequence is 1 2 3. Similarly in last sector i.e. >> , , 5 such sequence is 2 2 3 4. Any body can help to solve this >> problem. Thanks >> >> >> best regards >> Muhammad Azam >> >> >> >> >> [[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. >> > > > > -- > Jim Holtman > Cincinnati, OH > +1 513 646 9390 > > What is the problem that you are trying to solve? > > > > > [[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. > -- Jim Holtman Cincinnati, OH +1 513 646 9390 What is the problem that you are trying to solve? ______________________________________________ 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.