我想比较两个矩阵
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 2
为0
且matrix1 != matrix2
的值matrix2
的值。
答案 0 :(得分:3)
你可以按期限执行"术语"与mat1==mat2
进行比较,然后根据结果输入您想要的数字:
如果mat1
和mat2
是您的矩阵:
> 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