当前位置: 首页 > news >正文

在R中比较两个矩阵是否相等

目录

方法一:使用all.equal()比较两个R对象是否近似相等

方法二:使用identical比较两个R对象是否精确相等。


方法一:使用all.equal()比较两个R对象是否近似相等

使用函数:all.equal(x,y) 比较两个R对象x和y是否近似相等

> M1<-matrix(1:100,ncol=10)
> M1[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10][1,]    1   11   21   31   41   51   61   71   81    91[2,]    2   12   22   32   42   52   62   72   82    92[3,]    3   13   23   33   43   53   63   73   83    93[4,]    4   14   24   34   44   54   64   74   84    94[5,]    5   15   25   35   45   55   65   75   85    95[6,]    6   16   26   36   46   56   66   76   86    96[7,]    7   17   27   37   47   57   67   77   87    97[8,]    8   18   28   38   48   58   68   78   88    98[9,]    9   19   29   39   49   59   69   79   89    99
[10,]   10   20   30   40   50   60   70   80   90   100
> M2<-matrix(1:100,ncol=10)
> M2[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10][1,]    1   11   21   31   41   51   61   71   81    91[2,]    2   12   22   32   42   52   62   72   82    92[3,]    3   13   23   33   43   53   63   73   83    93[4,]    4   14   24   34   44   54   64   74   84    94[5,]    5   15   25   35   45   55   65   75   85    95[6,]    6   16   26   36   46   56   66   76   86    96[7,]    7   17   27   37   47   57   67   77   87    97[8,]    8   18   28   38   48   58   68   78   88    98[9,]    9   19   29   39   49   59   69   79   89    99
[10,]   10   20   30   40   50   60   70   80   90   100
> all.equal(M1,M2)
[1] TRUE

在帮助文件中的解释:

 从帮助文件中的解释,我们可以知道all.equal(x,y)用于比较x与y是否近似相等。如果他们不同,会在某种程度上继续进行比较,并在console中返回差异报告。建议在if表达式中,不要直接使用all.equal函数,而是使用isTRUE(all.equal(...))或者使用identical()函数。

方法二:使用identical比较两个R对象是否精确相等。

identical(x,y)用于比较两个R对象是否完全相等(exactly equal)

 identical()函数的帮助文件中的说明:

 由此可知,测试两个对象是否完全相等的安全可靠的方法。在这种情况下返回TRUE,其他情况下返回FALSE。

> M1<-matrix(1:100,ncol=10)
> M1[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10][1,]    1   11   21   31   41   51   61   71   81    91[2,]    2   12   22   32   42   52   62   72   82    92[3,]    3   13   23   33   43   53   63   73   83    93[4,]    4   14   24   34   44   54   64   74   84    94[5,]    5   15   25   35   45   55   65   75   85    95[6,]    6   16   26   36   46   56   66   76   86    96[7,]    7   17   27   37   47   57   67   77   87    97[8,]    8   18   28   38   48   58   68   78   88    98[9,]    9   19   29   39   49   59   69   79   89    99
[10,]   10   20   30   40   50   60   70   80   90   100
> M2<-matrix(1:100,ncol=10)
> M2[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10][1,]    1   11   21   31   41   51   61   71   81    91[2,]    2   12   22   32   42   52   62   72   82    92[3,]    3   13   23   33   43   53   63   73   83    93[4,]    4   14   24   34   44   54   64   74   84    94[5,]    5   15   25   35   45   55   65   75   85    95[6,]    6   16   26   36   46   56   66   76   86    96[7,]    7   17   27   37   47   57   67   77   87    97[8,]    8   18   28   38   48   58   68   78   88    98[9,]    9   19   29   39   49   59   69   79   89    99
[10,]   10   20   30   40   50   60   70   80   90   100
> identical(M1,M2)
[1] TRUE
> typeof(M1)
[1] "integer"
> typeof(M2)
[1] "integer"

注:使用identical()函数比较两个R对象是否完全相等时,如果不相等,要注意查看是否是数据类型不同,比如一个数据类型是double,一个数据类型是integer。

参考:

如何检查R中两个矩阵是否相等?-面圈网 (mianshigee.com) (介绍all.equal函数的相关示例)

如何在 R 中使用 identical() 函数 - 知乎 (zhihu.com) (介绍identical函数的相关示例)

http://www.lryc.cn/news/120348.html

相关文章:

  • 商城-学习整理-基础-商品服务API-属性分组(七)
  • 什么是响应式设计?列举几种实现响应式设计的方法。
  • Java类和对象(一文读懂)
  • 用友移动管理系统 任意文件上传漏洞复现(HW0day)
  • 启动springboot,出现Unable to start embedded Tomcat
  • 加密和安全
  • Maven基础总结
  • Java 编程实战:如何用 Java 编写一个简单而强大的 Tomcat
  • 【JavaSE】数组的定义与使用
  • 银河麒麟安装php7.1.33
  • Kubernetes集群部署上篇(安装部署,但是集群网络未部署)
  • 跨境电商中的安全挑战与隐擎Fox指纹浏览器的应用
  • 10. Docker Swarm(一)
  • 【MySQL】InnoDB存储引擎详解
  • 组合求和-矩阵连乘所有加括号方式_2023_08_12
  • 《3D 数学基础》12 几何图元
  • 【设计模式——学习笔记】23种设计模式——备忘录模式Memento(原理讲解+应用场景介绍+案例介绍+Java代码实现)
  • 致谢丨感谢有你,JumpServer开源项目九周年致谢名单
  • 使用 Python 和 Flask 构建简单的 Restful API 第 1 部分
  • 【深度学习所有损失函数】在 NumPy、TensorFlow 和 PyTorch 中实现(2/2)
  • Hazel 引擎学习笔记
  • Linux系统下Redis3.2集群
  • Android图形-合成与显示-SurfaceTestDemo
  • 高压放大器怎么设计(高压放大器设计方案)
  • SpringBoot yml配置注入
  • 中科亿海微乘法器(LPMMULT)
  • Redis_持久化(AOF、RDB)
  • 开源数据库Mysql_DBA运维实战 (部署服务篇)
  • 【Java学习】System.Console使用
  • 从零学算法154