为了账号安全,请及时绑定邮箱和手机立即绑定

创建共生矩阵

创建共生矩阵

月关宝盒 2019-08-13 10:35:32
创建共生矩阵我正在尝试解决共同出现矩阵的问题。我有一个事务和项目的数据文件,我想看到一起显示项目的事务数量的矩阵。我是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


查看完整回答
反对 回复 2019-08-13
  • 3 回答
  • 0 关注
  • 649 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信