创建共生矩阵我正在尝试解决共同出现矩阵的问题。我有一个事务和项目的数据文件,我想看到一起显示项目的事务数量的矩阵。我是R编程的新手,我很乐意找到R所有的快捷方式,而不是创建特定的循环(我以前使用的是C年前,现在只坚持使用Excel宏和SPSS)。我已经检查过这里的解决方案,但是没有找到一个有效的方法(最接近的是这里给出的解决方案:使用SAC的共生矩阵? - 但是当我使用projection_tm时它产生了一条错误信息,我怀疑cbind不是'在我的案例中成功。基本上我有一个包含以下内容的表:TrxID Items QuantTrx1 A 3Trx1 B 1Trx1 C 1Trx2 E 3Trx2 B 1Trx3 B 1Trx3 C 4Trx4 D 1Trx4 E 1Trx4 A 1Trx5 F 5Trx5 B 3Trx5 C 2Trx5 D 1, etc.我想创建类似的东西: A B C D E FA 0 1 1 0 1 1B 1 0 3 1 1 0C 1 3 0 1 0 0D 1 1 1 0 1 1E 1 1 0 1 0 0F 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可能不成功,所以projection_tm无法给我任何结果。任何替代方法或我的方法的更正?非常感谢您的帮助!
3 回答
米琪卡哇伊
TA贡献1998条经验 获得超6个赞
使用上述任一答案中的“dat”,尝试crossprod并table:
V <- crossprod(table(dat[1:2]))
diag(V) <- 0
V
# Items
# Items A B C D E F
# A 0 1 1 1 1 0
# B 1 0 3 1 1 1
# C 1 3 0 1 0 1
# D 1 1 1 0 1 1
# E 1 1 0 1 0 0
# F 0 1 1 1 0 0
- 3 回答
- 0 关注
- 644 浏览
添加回答
举报
0/150
提交
取消