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 **