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

【R语言】pmax和pmin函数的用法详解

pmax和pmin函数的用法

以pmax为例,这个函数的返回值是一个向量而不是一个数值,这也是他跟max函数的最大区别,记住一个口诀:

pmax是设置下限的,pmin是设置上限的,两个函数组合使用可以同时设置上限和下限,把一个向量的范围卡在一个区间内

常用方法如下

1.向量和数值比较

vec <- c(-10, 3, 8, 2, -2) pmax(vec, -5) # 下限为 -5 → [-5, 3, 8, 2, -2]

pmin(vec, 5) # 上限为 5 → [-10, 3, 5, 2, -2]

pmin(pmax(vec, -5), 5) # 限制在 [-5, 5] → [-5, 3, 5, 2, -2]

pmax(vec, -5) 表示把vec元素跟-5逐个比较并取每个元素和-5的最大值,也就是让返回结果的下限是-5,因为比-5小的会被替换为-5

2.向量和向量比较(相同长度)

vec1 <- c(1, 5, 3)

vec2 <- c(2, 4, 6)

pmax(vec1, vec2) # 逐元素取最大值 → [2, 5, 6]

pmin(vec1, vec2) # 逐元素取最小值 → [1, 4, 3]

此时pmax(vec1, vec2) 的返回结果向量是vec1, vec2两个向量每个元素的较大值

3.不同长度向量的比较

vec1 <- c(1, 5, 3)

vec2 <- c(2, 4)

pmax(vec1, vec2) # 自动循环 vec2 → [2, 5, 3]

不同长度的向量也可以使用pmax,返回向量的长度和较长的向量长度一样

组合应用的例子:

x <- pmax(pmin(x, 5), -5)

从内到外逐步解释:

pmin(x, 5)这里会把x的上限设置成5,x中比5大的就变成5,外层是设置下限的,比-5小的会变成-5,最终x的范围会被卡在-5到5的区间内。

这句代码其实等价于

x<-ifelse(abs(x)<5,x,ifelse(x>0,5,-5))

相关文章:

  • 【北上广深杭大厂AI算法面试题】人工智能大模型篇...矩阵乘法GEMM!以及为什么说GEMM是深度学习的核心?
  • 【云原生技术】编排与容器的技术演进之路
  • 信息系统运行管理员教程6--信息系统安全
  • 【深度解析:以“不要的心态”获取所求的本质逻辑】
  • 一周学会Flask3 Python Web开发-SQLAlchemy添加数据操作-班级模块
  • 告别XML模板的繁琐!Word文档导出,easy!
  • 穷举vs暴搜vs深搜vs回溯vs剪枝刷题 + 总结
  • 第5课 树莓派的Python IDE—Thonny
  • Gin(后端)和 Vue3(前端)中实现 Server-Sent Events(SSE)推送
  • DeepSeek + Excel:数据处理专家 具体步骤
  • 蓝桥杯备赛-二分-技能升级
  • C语言输入与输出:从零掌握数据的“对话”
  • STC89C52单片机学习——第20节: [8-2]串口向电脑发送数据电脑通过串口控制LED
  • MyBatis源码分析の配置文件解析
  • 创建postgis数据库
  • 【matlab例程】三维下的TDOA定位和EKF轨迹滤波例程,TDOA的锚点数量可自定义(订阅专栏后可获得完整代码)
  • 每日一题---腐烂的苹果(广度优先搜索)
  • Java常见的几种内存溢出及解决方法
  • MATLAB中events函数用法
  • 函数的引用/函数的默认参数/函数的占位参数/函数重载
  • 首部关于民营经济发展的基础性法律,有何亮点?专家解读
  • 量子传感新技术“攻克”退相干难题
  • 辽宁省委书记、省长连夜赶赴辽阳市白塔区火灾事故现场,指导善后处置工作
  • 西藏阿里地区日土县连发两次地震,分别为4.8级和3.8级
  • 言短意长|政府食堂、停车场开放的示范效应
  • 解放日报头版:人民城市共建共享展新卷