data<-read.csv("https://raw.githubusercontent.com/PedroGonzalezBeermann2020/Experimental/main/DATA.csv")
data
##    emp1 emp2 emp3 emp4 emp5
## 1     1    1    0    0    1
## 2     0    1    0    1    0
## 3     1    0    1    0    0
## 4     0    0    1    0    0
## 5     0    1    1    1    0
## 6     0    1    0    1    1
## 7     1    0    0    0    0
## 8     0    0    0    0    1
## 9     0    1    0    1    1
## 10    1    1    1    0    0

Esta rutina calcula fuera de la diagonal la suma de clientes que compraron en ambas empresas. En la diagonal el número del cliente que compró únicamente en esa empresa

nc<-ncol(data)
nr<-nrow(data)
mat<-matrix(0,nc,nc)
p<-seq(1,nc)
for(cliente in seq(1,nr)){
  s<-data[cliente,]*p
  g<-s[ s != 0 ]
  if(length(g)==1){
    n1<-g[1]
    mat[n1,n1]=cliente
  }
  if(length(g)>1){
  x<-combn(g,2,simplify = FALSE)
  for(z in x){
    n1<-z[1]
    n2<-z[2]
    mat[n1,n2]=mat[n1,n2]+1
    mat[n2,n1]=mat[n2,n1]+1
  }
  }
 
}

Matriz Resultante

print(mat)
##      [,1] [,2] [,3] [,4] [,5]
## [1,]    7    2    2    0    1
## [2,]    2    0    2    4    3
## [3,]    2    2    4    1    0
## [4,]    0    4    1    0    2
## [5,]    1    3    0    2    8

** FIN DE LA RUTINA **