两个矩阵对应位置相除

时间:2022-07-24
本文章向大家介绍两个矩阵对应位置相除,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

当想用一个矩阵的数据 除以另一个矩阵的对应位置的数值时,可以直接用两个矩阵相除,例子如下

>a<-matrix(c(2,0,2,0),nrow = 2)
> a
     [,1] [,2]
[1,]    2    2
[2,]    0    0

> b<-matrix(c(0.5,0,0,1),nrow = 2)
> b
     [,1] [,2]
[1,]  0.5    0
[2,]  0.0    1
> a/b
     [,1] [,2]
[1,]    4  Inf
[2,]  NaN    0
> table(a/b)

  0   4 Inf 
  1   1   1 

我们可以看到当a矩阵数字不为0,b矩阵也为0时,会得到Inf,而a,b矩阵均为0时会得到NAN, Inf和NAN可以通过替换为0来进行后续的数据分析。

> c<-a/b
> c[a==0|b==0]<-0
> c
     [,1] [,2]
[1,]    4    0
[2,]    0    0

参考:https://www.jianshu.com/p/9cf36b084e83