[R] request: most repeated component of a list
Dimitris Rizopoulos
d.rizopoulos at erasmusmc.nl
Thu Sep 11 10:52:16 CEST 2008
try the following:
ff <- function (x) {
do.call("paste", c(as.data.frame(x), sep = "\r", collapse = ""))
}
pats <- sapply(a, ff)
ind <- which.max(table(pats))
a[[ind]]
I hope it helps.
Best,
Dimitris
> Thanks for the effort but still we are far from the desired result. May be
> this example will help you to understand the situation. Example
> a1=c(1:12); a1=array(a1,dim=c(3,4)); a2=c(1:12);
> a2=array(a2,dim=c(3,4)); a3=c(1:16)
> a3=array(a3,dim=c(4,4));
> a=list(a1,a2,a3);
> a
> [[1]]
> [,1] [,2] [,3] [,4]
> [1,] 1 4 7 10
> [2,] 2 5 8 11
> [3,] 3 6 9 12
>
> [[2]]
> [,1] [,2] [,3] [,4]
> [1,] 1 4 7 10
> [2,] 2 5 8 11
> [3,] 3 6 9 12
>
> [[3]]
> [,1] [,2] [,3] [,4]
> [1,] 1 5 9 13
> [2,] 2 6 10 14
> [3,] 3 7 11 15
> [4,] 4 8 12 16
>
> Here [[1]] and [[2]] are same out of three (internal values wise). The
> whole array [[1]] or [[2]] is in majority. So i want to get the whole
> array or component of list which is in majority. The result should be like
> this
> [,1] [,2] [,3] [,4]
> [1,] 1 4 7 10
> [2,] 2 5 8 11
> [3,] 3 6 9 12
>
> Hope it is much more clear as before.
>
> best regards
> Muhammad Azam
>
>
> ----- Original Message ----
> From: Adam D. I. Kramer <adik-rhelp at ilovebacon.org>
> To: Muhammad Azam <mazam72 at yahoo.com>
> Cc: R Help <r-help at r-project.org>
> Sent: Thursday, September 11, 2008 9:53:40 AM
> Subject: Re: [R] request: most repeated component of a list
>
> That is indeed different from what I thought the first time.
>
> x <- sapply(1:length(l), function(x) {
> sum(sapply(l, function(y) {
> if ( nrow(l[[x]]) != nrow(y) | ncol(l[[x]]) != ncol(y) ) FALSE
> else sum(y != l[[x]]) == 0
> }))
> } )
>
> names(x) <- names(l)
>
> Then, x has the same names as l, and x[i] is the number of matches that
> l[[i]] has...so you want the index or indices of max(x).
>
> --Adam
>
> On Thu, 11 Sep 2008, Muhammad Azam wrote:
>
>> May be i could not explain properly. Actually there are components of
>> list i.e. [[1]] to [[500]]. Each component containing r-rows (may be
>> different for each [[ k ]] and c-columns same for all). I have to
>> compare all the [[ k ]] components of that list and found the one
>> appearing maximum no of times. e.g. from three components [[1]] to
>> [[3]] given below. The most repeated is
>>
>> [,1] [,2] [,3] [,4] [,5]
>> [1,] 4 0 0 0 0
>> [2,] 4 3 4 0 0
>> [3,] 4 3 4 0 0
>> [4,] 4 3 0 0 0Please help to find it. Thanks and
>>
>> best regards
>> Muhammad Azam
>>
>>
>> ----- Original Message ----
>> From: jim holtman <jholtman at gmail.com>
>> To: Muhammad Azam <mazam72 at yahoo.com>
>> Cc: R-help request <r-help-request at r-project.org>; R Help
>> <r-help at r-project.org>
>> Sent: Wednesday, September 10, 2008 5:59:28 PM
>> Subject: Re: [R] request: most repeated component of a list
>>
>> If want you want is the summary from all of them, then 'rbind' the
>> data together into one matrix and analyze it:
>>
>> totalMat <- do.call(rbind, listOfMatrices)
>>
>> On Wed, Sep 10, 2008 at 11:49 AM, Muhammad Azam <mazam72 at yahoo.com>
>> wrote:
>>> Dear R community
>>>
>> I have stored the results of arrays in a list consist of J-components
>> (say 200 components). Each component containing same no of columns but
>> may be different no of rows. e.g
>>> [[1]]
>>> [,1] [,2] [,3] [,4] [,5]
>>> [1,] 4 0 0 0 0
>>> [2,] 4 3 4 0 0
>>> [3,] 4 3 4 0 0
>>> [4,] 4 3 0 0 0
>>>
>>> [[2]]
>>> [,1] [,2] [,3] [,4] [,5]
>>> [1,] 4 0 0 0 0
>>> [2,] 4 3 4 0 0
>>> [3,] 4 3 4 0 0
>>> [4,] 4 3 0 0 0
>>>
>>> [[3]]
>>> [,1] [,2] [,3] [,4] [,5]
>>> [1,] 4 0 0 0 0
>>> [2,] 4 4 1 0 0
>>> [3,] 4 4 1 0 0
>>> [4,] 4 4 0 0 0
>>> [5,] 4 4 0 0 0
>>>
>>>
>> For 200 components i want to make a frequency table. How can i make a
>> frequency table of these components or the most repeated component out
>> of all? Any help in this regard will be appreciated.
>>>
>>>
>>> Muhammad Azam
>>>
>>>
>>>
>>> [[alternative HTML version deleted]]
>>>
>>> ______________________________________________
>>> R-help at 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 at 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.
>>
>
>
>
>
> [[alternative HTML version deleted]]
>
> ______________________________________________
> R-help at 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.
>
--
Dimitris Rizopoulos
Assistant Professor
Department of Biostatistics
Erasmus University Medical Center
Address: PO Box 2040, 3000 CA Rotterdam, the Netherlands
Tel: +31/(0)10/7043478
Fax: +31/(0)10/7043014
More information about the R-help
mailing list