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

【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))


http://www.kler.cn/a/586760.html

相关文章:

  • 2025-3-14 leetcode刷题情况(贪心算法)
  • 开发、科研、日常办公工具汇总(自用,持续更新)
  • MATLAB中events函数用法
  • Linux系统之美:进程初识
  • 蓝桥杯 阶乘求值【省模拟赛】
  • 谷歌Chrome或微软Edge浏览器修改网页任意内容
  • C++笔记-类与对象(中)
  • 二分+前缀和/滑动窗口——成绩统计
  • 神经网络:定义与核心原理
  • 基于 Verilog 的多路复用显示驱动设计与测试:实践与探索
  • Visual Studio里的调试(debugging)功能介绍
  • Tomato靶机
  • Vue 中的 v-for 如何遍历对象?
  • 【模拟算法】
  • misc19~21
  • 如何在AVL树中高效插入并保持平衡:一步步掌握旋转与平衡因子 —— 旋转篇
  • ​​​​​​​大语言模型安全风险分析及相关解决方案
  • P3379 【模板】最近公共祖先(LCA)【题解】(倍增法)
  • 链表·简单归并
  • OpenBMC:BmcWeb添加路由3 设置权限