You can try the following commands, which I have not tested extensively,
 
m <- data.frame( object=c(1,2,3,4,5), group=c(1,2,1,1,3) )
tab <- table(m)
out <- tab %*% t(tab)

The above is OK if every object belongs to one group only. But if it does not, say as 
in "m2 <- rbind(m, c(1,3))", the values above 1 can occur on the diagonal indicating 
the number of membership that object has.

 

-----Original Message----- 
From: [EMAIL PROTECTED] on behalf of Alexey Shipunov 
Sent: Tue 11/11/2003 18:49 
To: [EMAIL PROTECTED] 
Cc: 
Subject: [R] A co-occurrence matrix



        Dear R experts,
        
        I have a matrix (from some sort of
        classification) like this:
        
              object  group
         [1,] 1       1
         [2,] 2       2
         [3,] 3       1
         [4,] 4       1
         [5,] 5       3
        
        And I need something like this:
        
              [,1] [,2] [,3] [,4] [,5]
         [1,] 1    0    1    1    0
         [2,] 0    1    0    0    0
         [3,] 1    0    1    1    0
         [4,] 1    0    1    1    0
         [5,] 0    0    0    0    1
        
        where all zeros mean that these objects are not
        in same group, and vice versa.
        
        Is there a relatively simple way to construct co-
        uccurence matrices of type shown above?
        
        Any help would be appreciated,
        
        
        =================================
        Dr. Alexey B. Shipunov
        Section of Molecular Systematics
        Jodrell Laboratory
        Royal Botanic Gardens, Kew,
        Richmond, Surrey, TW9 3DS, U.K.
        e-mail: [EMAIL PROTECTED]
        
        ______________________________________________
        [EMAIL PROTECTED] mailing list
        https://www.stat.math.ethz.ch/mailman/listinfo/r-help 
<https://www.stat.math.ethz.ch/mailman/listinfo/r-help>

______________________________________________
[EMAIL PROTECTED] mailing list
https://www.stat.math.ethz.ch/mailman/listinfo/r-help

Reply via email to