[R] A co-occurrence matrix

Adaikalavan RAMASAMY ramasamya at gis.a-star.edu.sg
Tue Nov 11 13:40:55 CET 2003


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: r-help-bounces at stat.math.ethz.ch on behalf of Alexey Shipunov 
Sent: Tue 11/11/2003 18:49 
To: R-help at stat.math.ethz.ch 
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: a.shipunov at rbgkew.org.uk
	
	______________________________________________
	R-help at stat.math.ethz.ch mailing list
	https://www.stat.math.ethz.ch/mailman/listinfo/r-help <https://www.stat.math.ethz.ch/mailman/listinfo/r-help>




More information about the R-help mailing list