簡體   English   中英

在矩陣中進行非對稱成對比較

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM