Hi, David,

The matrix has 20 columns.
Thank you very much for your help. I think it's right, but it seems I need
some time to figure it out. I am a green hand. There are so many functions
here I never used before. :)

Cindy

On Sun, Nov 15, 2009 at 5:19 PM, David Winsemius <dwinsemius@comcast.net>wrote:

> Assuming that the number of columns is 4, then consider this approach:
>
> > prs <-scan()
> 1: 2 5 1 6
> 5: 1 7 8 2
> 9: 3 7 6 2
> 13: 9 8 5 7
> 17:
> Read 16 items
> prmtx <- matrix(prs, 4,4, byrow=T)
>
> #Now make copus of x.y and y.x
>
> pair.str <- sapply(1:nrow(prmtx), function(z) c(apply(combn(prmtx[z,], 2),
> 2,function(x) paste(x[1],x[2], sep=".")) , apply(combn(prmtx[z,], 2),
> 2,function(x) paste(x[2],x[1], sep="."))) )
> tpair <-table(pair.str)
>
> # This then gives you a duplicated list
> > tpair[tpair>1]
> pair.str
> 1.2 2.1 2.6 2.7 6.2 7.2 7.8 8.7
>  2   2   2   2   2   2   2   2
>
> # So only take the first half of the pairs:
> > head(tpair[tpair>1], sum(tpair>1)/2)
>
> pair.str
> 1.2 2.1 2.6 2.7
>  2   2   2   2
>
> --
> David.
>
>
>
> On Nov 15, 2009, at 8:06 PM, David Winsemius wrote:
>
>   I could of course be wrong but have you yet specified the number of
>> columns for this pairing exercise?
>>
>> On Nov 15, 2009, at 5:26 PM, cindy Guo wrote:
>>
>> Hi, All,
>>>
>>> I have an n by m matrix with each entry between 1 and 15000. I want to
>>> know
>>> the frequency of each pair in 1:15000 that occur together in rows. So for
>>> example, if the matrix is
>>> 2 5 1 6
>>> 1 7 8 2
>>> 3 7 6 2
>>> 9 8 5 7
>>> Pair (2,6) (un-ordered) occurs together in rows 1 and 3. I want to return
>>> the value 2 for this pair as well as that for all pairs. Is there a fast
>>> way
>>> to do this avoiding loops? Loops take too long.
>>>
>>> and provide commented, minimal, self-contained, reproducible code.
>>>
>>                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>>
>> David Winsemius, MD
>> Heritage Laboratories
>> West Hartford, CT
>>
>> ______________________________________________
>> 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<http://www.r-project.org/posting-guide.html>
>> and provide commented, minimal, self-contained, reproducible code.
>>
>
> David Winsemius, MD
> Heritage Laboratories
> West Hartford, CT
>
>

	[[alternative HTML version deleted]]


