我正在尝试解决具有共现矩阵的问题。我有一个交易和项目的数据文件,我想查看项目一起出现的交易数量的矩阵。
我是 R 编程的新手,我很高兴找出 R 的所有快捷方式,而不是创建特定的循环(我几年前曾经使用 C,现在只坚持使用 Excel 宏和 SPSS)。我已经检查了这里的解决方案,但没有找到一个有效的解决方案(最接近的是这里给出的解决方案:使用 SAC 的共现矩阵? - 但是当我使用 projecting_tm 时它产生了一条错误消息,我怀疑 cbind 不是在我的情况下成功。
基本上我有一个包含以下内容的表:
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.
我想创建类似的东西:
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
我所做的是(你可能会嘲笑我的菜鸟 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
如上所述,cbind 可能不成功,因此projecting_tm 无法给我任何结果。
任何替代方法或对我的方法的更正?
您的帮助将不胜感激!