Creación de matriz de co-ocurrencia.
Estoy tratando de resolver el problema de tener una matriz de co-ocurrencia. Tengo un archivo de datos de transacciones y artículos, y quiero ver una matriz de la cantidad de transacciones donde los artículos aparecen juntos.
Soy un novato en la programación de R y me divierto mucho descubriendo todos los accesos directos que tiene R, en lugar de crear bucles específicos (solía usar C hace años y solo me quedaba con las macros de Excel y SPSS ahora). He comprobado las soluciones aquí, pero no he encontrado una que funcione (la más cercana es la solución dada aquí:¿Co-ocurrencia de matriz utilizando SAC? - pero produjo un mensaje de error cuando usé projecting_tm, sospeché que el cbind no tuvo éxito en mi caso.
Esencialmente tengo una tabla que contiene lo siguiente:
TrxID Items Quant
Trx1 A 3
Trx1 B 1
Trx1 C 1
Trx2 E 3
Trx2 B 1
Trx3 B 1
Trx3 C 4
Trx4 D 1
Trx4 E 1
Trx4 A 1
Trx5 F 5
Trx5 B 3
Trx5 C 2
Trx5 D 1, etc.
Quiero crear algo como:
A B C D E F
A 0 1 1 0 1 1
B 1 0 3 1 1 0
C 1 3 0 1 0 0
D 1 1 1 0 1 1
E 1 1 0 1 0 0
F 0 1 1 1 0 0
Lo que hice fue (y probablemente te reirías de mi acercamiento de novato R):
library(igraph)
library(tnet)
trx <- read.table("FileName.txt", header=TRUE)
transID <- t(trx[1])
items <- t(trx[2])
id_item <- cbind(items,transID)
item_item <- projecting_tm(id_item, method="sum")
item_item <- tnet_igraph(item_item,type="weighted one-mode tnet")
item_matrix <-get.adjacency(item_item,attr="weight")
item_matrix
Como se mencionó anteriormente, probablemente el cbind no tuvo éxito, por lo que projecting_tm no pudo darme ningún resultado.
¿Algún enfoque alternativo o una corrección a mi método?
¡Tu ayuda sería muy apreciada!