看板 R_Language 關於我們 聯絡資訊
[問題類型]: 程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來) [軟體熟悉度]: 請把以下不需要的部份刪除 使用者(已經有用R 做過不少作品) [問題敘述]: 請簡略描述你所要做的事情,或是這個程式的目的 想計算同個類組的比例 舉例來說 > V1=c( "A","A","A","A","B", "B" ,"C", "C") > V2= c( "A2","A3","A4","A5","A1", "B1" ,"A1", "C1") > DTTEST <- data.frame(V1,V2) > DTTEST V1 V2 1 A A2 2 A A3 3 A A4 4 A A5 5 B A1 6 B B1 7 C A1 8 C C1 我想看V2這個欄位中分群的關係,好比說A1出現兩次有跟B1跟C1同群過 那是否有函數可以呈現以下 A1 A2 A3 A4 A5 B1 C1 A1 2 0 0 0 0 1 1 A2 0 1 1 1 1 0 0 A3 0 0 1 1 1 0 0 . . . B1 1 0 0 0 0 1 0 ----------------------------------------------------------------- 嘗試C大的方法結果如下 > table(DTTEST$V1, DTTEST$V2) A1 A2 A3 A4 A5 B1 C1 A 0 1 1 1 1 0 0 B 1 0 0 0 0 1 0 C 1 0 0 0 0 0 1 有辦法像我上面想呈現的那樣嗎? A1 A2 A3 A4 A5 B1 C1 A1 2 0 0 0 0 1 1 A2 0 1 1 1 1 0 0 A3 0 0 1 1 1 0 0 . . . B1 1 0 0 0 0 1 0 還是需要再加上那些函數轉成以下形式 謝謝 ------------------------------------------------- 後來我想了一下不知道這樣方法可否? 利用矩陣的關係 table(DTTEST$V2, DTTEST$V1) %*% table(DTTEST$V1, DTTEST$V2) 謝謝 類似相關性的呈現,謝謝 [程式範例]: [環境敘述]: [關鍵字]: 分組關係 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.51.152.20 ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1519210528.A.F96.html
celestialgod: table(df$V1, df$V2) 02/21 18:58
※ 編輯: huangsam (123.51.152.20), 02/22/2018 09:30:49
x88776544pc: apply(df2, 2, function(x) if(sum(x)-1) {colSums(d 02/22 10:36
x88776544pc: f2[x>0,])} else {df2[x>0,]} ) 02/22 10:36
※ 編輯: huangsam (123.51.152.20), 02/22/2018 10:50:38 謝謝x大提供!!!! ※ 編輯: huangsam (123.51.152.20), 02/22/2018 10:53:20
x88776544pc: 如果每筆資料都是 unique, 矩陣乘法可以, 沒想到 @@ 02/22 11:16
x88776544pc: 如果有可能重複的話, 我的結果還要再轉置, 忘記了 02/22 11:17
huangsam: x大謝謝你啊!!!!!! 02/22 11:22
celestialgod: 喔喔,原來我沒看懂你要什麼XDD 02/22 19:55