比较矩阵并输出差异

时间:2015-10-01 10:36:23

标签: r matrix

我想比较两个矩阵

  A B C
A 1 1 0
B 0 1 -1
C 1 0 0
  A B C
A 1 -1 0
B 0 -1 -1
C 1 0 1

所以输出应该是

  A B C
A 0 -1 0
B 0 -1 0
C 0 0 1

matrix 1 == matrix 20matrix1 != matrix2的值matrix2的值。

1 个答案:

答案 0 :(得分:3)

你可以按期限执行"术语"与mat1==mat2进行比较,然后根据结果输入您想要的数字: 如果mat1mat2是您的矩阵:

> ifelse(mat1==mat2, 0, mat2)
   #   A  B C
   # A 0 -1 0
   # B 0 -1 0
   # C 0  0 1

根据评论编辑
如果您还想知道哪个百分比的值不相等,您可以这样做:

eq <- mat1==mat2 # avoid to later compute this twice
ifelse(eq, 0, mat2) # get the desired matrix
round(sum(!eq)/length(eq)*100, 2) # get the percentage of non equal values
#[1] 33.33