創建共生矩陣我正在嘗試解決共同出現矩陣的問題。我有一個事務和項目的數據文件,我想看到一起顯示項目的事務數量的矩陣。我是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 關注
- 682 瀏覽
添加回答
舉報
0/150
提交
取消