Re: [問題] adjacency matrix

看板R_Language作者 (攸藍)時間9年前 (2015/04/22 10:12), 9年前編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/2 (看更多)
※ 引述《angela79979 (mini)》之銘言: : [問題類型]: : 程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來) : [軟體熟悉度]: : 入門(寫過其他程式,只是對語法不熟悉) : [問題敘述]: : 資料為許多筆list,如: : 1,2,4,3,5 : 2,4,5,3 : ... : 想計算(i-1,i) 相鄰兩個數出現的頻率並轉還成matrix形式 : 如: : (i-1,i) : 頻率 : 以(i-1)為matrix的行列,頻率為該元素的值, : 若利用以上的資料 : : (1,2):1 _1 2 3 4 5 _ : (2,4):2 1 | 0 1 0 0 0 | : (4,3):1 ==> M=2 | 0 0 0 2 0 | : (3,5):1 3 | 0 0 0 0 1 | : (4,5):1 4 | 0 0 1 0 1 | : (5,3):1 5 |_0 0 1 0 0 _| : 請問是否有見意的方法或package? : [關鍵字]: : adjacency matrix library(data.table) library(dplyr) library(magrittr) library(Matrix) r = list(c(1,2,4,3,5), c(2,4,5,3)) dat = sapply(r, function(x) cbind(x[-length(x)], x[-1])) %>% do.call(rbind, .) %>% tbl_dt() %>% mutate(Value = 1) %>% group_by(V1, V2) %>% summarise(sumV = sum(Value)) A = sparseMatrix(dat$V1, dat$V2, x=dat$sumV) [1,] . 1 . . . [2,] . . . 2 . [3,] . . . . 1 [4,] . . 1 . 1 [5,] . . 1 . . # . 在sparseMatrix是0 # 可以用as. matrix還原 as.matrix(A) [,1] [,2] [,3] [,4] [,5] [1,] 0 1 0 0 0 [2,] 0 0 0 2 0 [3,] 0 0 0 0 1 [4,] 0 0 1 0 1 [5,] 0 0 1 0 0 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.205.27.107 ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1429668770.A.B52.html ※ 編輯: celestialgod (123.205.27.107), 04/22/2015 10:19:10
文章代碼(AID): #1LDmEYjI (R_Language)
文章代碼(AID): #1LDmEYjI (R_Language)