2016-12-14 79 views
1

用這樣的矩陣(或數據幀)在另一列

a<-matrix(c(1,2,3,1,4,2,5,"A","A","B","B","A","B","A"),nrow=7,ncol=2) 

創建雙向表橫過因子的水平,與IDS考慮我有一個因子的在第一列中的ID,以及水平在第二個。 我怎樣才能獲得一個水平共存的雙向表?

預期輸出:

A B 
A 4 2 
B 2 3 

謝謝

編輯:找到了答案......這是愚蠢的SOOOO:

crossprod(table(a[,1],a[,2])) 
+0

你能顯示預期的輸出嗎?或許'table(as.data.frame(a))' – akrun

+1

可能'table(a [,1],a [,2])' – mtoto

+0

預期輸出(co-occurences)是一個2x2對稱表,帶有「A」和「B」作爲對角線4(A的nb)和3(B的nb)的行和列,在其他單元中具有A和B線的ID的數量:(對不起,我不知道如何繪製表格堆棧評論) iee 2因爲有兩個ID(1和2)共享「A」和「B」值 當然,我的目標是在第二列中使用它兩個以上的級別。 –

回答

0

優於從不遲到,我只是編輯的op並忘記回答,下面是我想出的解決方案:

crossprod(table(a[,1],a[,2]))