[英]make asymmetric pairwise comparisons in a matrix
我有一個成對的值但沒有對稱的矩陣,我的意思是,AxB與BxA不同。 這是一個虛擬的示例:
A B C D E
A 1 0.7 0.8 0.8 0.9
B 0.2 1 0.2 0.8 0.3
C 0.3 0.4 1 0.5 0.6
D 0.4 0.9 0.8 1 0.4
E 0.8 0.2 0.8 0.8 1
我需要知道有多少[i,j]
比較高於或等於0.7,有多少比較[j,i]
也高於0.7
才能刪除高冗余元素。 在示例中,元素A
具有數量更多的元素B, C, D, and E
,應將其刪除以進行進一步分析。 我曾經考慮過使用table
命令
table1 <- apply(M, 1, table)
table2 <- apply(M, 2, table)
然后將table1與table2進行比較以刪除多余的元素,這是一個好方法嗎?
謝謝
您要如何處理> 0.7的條目? 將它們設置為NA? 刪除它們? 無論如何,這應該使您朝正確的方向前進:
#Assumes your data is named x
> which(x > 0.7, arr.ind = TRUE)
#----
row col
A 1 1
E 5 1
B 2 2
D 4 2
...
#Set values = NA
x[which(x>0.7, arr.ind = TRUE)] <- NA
#---
A B C D E
A NA 0.7 NA NA NA
B 0.2 NA 0.2 NA 0.3
C 0.3 0.4 NA 0.5 0.6
D 0.4 NA NA NA 0.4
E NA 0.2 NA NA NA
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.