[問題] 分組問題

作者: huangsam (sam)   2018-02-21 18:55:25
[問題類型]:
程式諮詢(我想用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
作者: celestialgod (天)   2018-02-21 18:58:00
table(df$V1, df$V2)
作者: x88776544pc (龍飛五丈原)   2018-02-22 10:36:00
apply(df2, 2, function(x) if(sum(x)-1) {colSums(df2[x>0,])} else {df2[x>0,]} )如果每筆資料都是 unique, 矩陣乘法可以, 沒想到 @@如果有可能重複的話, 我的結果還要再轉置, 忘記了
作者: huangsam (sam)   2018-02-22 11:22:00
x大謝謝你啊!!!!!!
作者: celestialgod (天)   2018-02-22 19:55:00
喔喔,原來我沒看懂你要什麼XDD

Links booklink

Contact Us: admin [ a t ] ucptt.com