我正在尝试解决共现矩阵的问题。我有一个交易和项目的数据文件,我想看到项目一起出现的交易次数的矩阵。
我是R编程的新手,我正在寻找所有R的快捷方式,而不是创建特定的循环(我几年前使用C,现在只用Excel宏和SPSS)。我已经检查了这里的解决方案,但没有找到一个可行的(最接近的是这里给出的解决方案:Co-occurrence matrix using SAC? - 但当我使用projecting_tm时,它产生了一个错误消息,我怀疑在我的情况下cbind没有成功。
本质上,我有一个包含以下内容的表:
如上所述,cbind 可能不成功,因此 projecting_tm 无法给出任何结果。
是否有其他替代方法或对我的方法进行修正?
非常感谢您的帮助!
我是R编程的新手,我正在寻找所有R的快捷方式,而不是创建特定的循环(我几年前使用C,现在只用Excel宏和SPSS)。我已经检查了这里的解决方案,但没有找到一个可行的(最接近的是这里给出的解决方案:Co-occurrence matrix using 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 无法给出任何结果。
是否有其他替代方法或对我的方法进行修正?
非常感谢您的帮助!