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 <jholtman@gmail.com>
To: Muhammad Azam <mazam72@yahoo.com>
Cc: R Help <r-help@r-project.org>; R-help request
<r-help-request@r-project.org>
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 <mazam72@yahoo.com>
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]]