Es la estructura de red que AMAZON ocupa para hacer recomendaciones en base a tus compras actuales

M = as.matrix(
  read.csv("https://raw.githubusercontent.com/PABalland/ON/master/amz.csv" , 
           sep = ",", 
           header = T, 
           row.names = 1))
M
##        Tie Book Surfboard Short Water
## Pierre   0    0         1     1     1
## Ron      1    1         0     0     1
## Andrea   1    1         0     0     1
## David    0    0         1     1     1
## Cesar    1    1         0     0     1
## Paula    1    1         1     1     1
dim(M)
## [1] 6 5

Ver sólo el vector de clientes que compran el producto “corbata” (producto de la columna 1)

M[1:6,1]
## Pierre    Ron Andrea  David  Cesar  Paula 
##      0      1      1      0      1      1

Ver sólo un fragmento de la base original, en relación a los dos productos que me interesan

M[1:6,1:2]
##        Tie Book
## Pierre   0    0
## Ron      1    1
## Andrea   1    1
## David    0    0
## Cesar    1    1
## Paula    1    1

Computar grado de centralidad

rowSums(M)
## Pierre    Ron Andrea  David  Cesar  Paula 
##      3      3      3      3      3      5

función útil para enfocarnos en productos y no sólo en clientes

t(M)
##           Pierre Ron Andrea David Cesar Paula
## Tie            0   1      1     0     1     1
## Book           0   1      1     0     1     1
## Surfboard      1   0      0     1     0     1
## Short          1   0      0     1     0     1
## Water          1   1      1     1     1     1

Suma de matrices

M+M
##        Tie Book Surfboard Short Water
## Pierre   0    0         2     2     2
## Ron      2    2         0     0     2
## Andrea   2    2         0     0     2
## David    0    0         2     2     2
## Cesar    2    2         0     0     2
## Paula    2    2         2     2     2

Crear nuevo un objeto llamado x

X=M+M
M*M
##        Tie Book Surfboard Short Water
## Pierre   0    0         1     1     1
## Ron      1    1         0     0     1
## Andrea   1    1         0     0     1
## David    0    0         1     1     1
## Cesar    1    1         0     0     1
## Paula    1    1         1     1     1

multiplicación de matrices checar tamaños

M%*%t(M)
##        Pierre Ron Andrea David Cesar Paula
## Pierre      3   1      1     3     1     3
## Ron         1   3      3     1     3     3
## Andrea      1   3      3     1     3     3
## David       3   1      1     3     1     3
## Cesar       1   3      3     1     3     3
## Paula       3   3      3     3     3     5

checar tamaño de la matriz -dim-

t(M)%*%M
##           Tie Book Surfboard Short Water
## Tie         4    4         1     1     4
## Book        4    4         1     1     4
## Surfboard   1    1         3     3     3
## Short       1    1         3     3     3
## Water       4    4         3     3     6

similaridad de productos (de gustos) matriz de co ocurrencia de productos

P=t(M)%*%M

diag(P)=0

similaridad de clientes - matriz de co ocurrencia de clienes

C=M%*%t(M)

no es una matriz identidad (como en la correlación)

C
##        Pierre Ron Andrea David Cesar Paula
## Pierre      3   1      1     3     1     3
## Ron         1   3      3     1     3     3
## Andrea      1   3      3     1     3     3
## David       3   1      1     3     1     3
## Cesar       1   3      3     1     3     3
## Paula       3   3      3     3     3     5
diag(C)=0
C
##        Pierre Ron Andrea David Cesar Paula
## Pierre      0   1      1     3     1     3
## Ron         1   0      3     1     3     3
## Andrea      1   3      0     1     3     3
## David       3   1      1     0     1     3
## Cesar       1   3      3     1     0     3
## Paula       3   3      3     3     3     0