如何在 r 中使用 pmax 和 pmin(附示例)


您可以使用 R 中的pmax()pmin()函数分别查找多个向量上的并行最大值和最小值。

这些函数使用以下基本语法:

 pmax(vector1, vector2, vector3, ...)
pmin(vector1, vector2, vector3, ...) 

以下示例展示了如何将这些函数与向量和数据框一起使用。

示例 1:将 pmax 和 pmin 与向量结合使用

假设 R 中有以下三个向量:

 #define three vectors
vector1 <- c(2, 2, 3, 4, 5, 6, 9)
vector2 <- c(1, 2, 4, 3, 3, 5, 4)
vector3 <- c(0, 4, 3, 12, 5, 8, 8)

我们可以使用pmaxpmin函数求三个向量上对应元素的最大值和最小值:

 #find max value across vectors
pmax(vector1, vector2, vector3)

[1] 2 4 4 12 5 8 9

#find min value across vectors
pmin(vector1, vector2, vector3)

[1] 0 2 3 3 3 5 4

以下是如何解释结果:

  • 所有向量第一个位置的最大值为2 。所有向量第一个位置的最小值为0
  • 所有向量第二个位置的最大值是4 。所有向量第二个位置的最小值为2

等等。

示例 2:将 pmax 和 pmin 与数据框列一起使用

假设我们在 R 中有以下数据框:

 #create data frame
df <- data. frame (team=c('A', 'B', 'C', 'D', 'E'),
                 steals=c(24, 22, 36, 33, 30),
                 assists=c(33, 28, 31, 39, 34),
                 rebounds=c(30, 28, 24, 24, 41))

#view data frame
df

  team steals assists rebounds
1 A 24 33 30
2 B 22 28 28
3 C 36 31 24
4 D 33 39 24
5 E 30 34 41

我们可以使用pmaxpmin函数求三个向量上对应元素的最大值和最小值:

 #find max value across steals, assists, and rebounds columns
pmax(df$steals, df$assists, df$rebounds)

[1] 33 28 36 39 41

#find minimum value across steals, assists, and rebounds columns
pmin(df$steals, df$assists, df$rebounds)

[1] 24 22 24 24 30

以下是如何解释结果:

  • 第一行抢断、助攻和篮板栏的最大值为33 ,最小值为24
  • 第二行抢断、助攻和篮板栏的最大值为28 ,最小值为22

等等。

注意:如果任何向量中有缺失值,只需使用以下语法在计算最大值或最小值时忽略 NA:

 pmax(vector1, vector2, vector3, na. rm = TRUE )
pmin(vector1, vector2, vector3, na. rm = TRUE )

其他资源

以下教程解释了如何在 R 中执行其他常见操作:

如何在 R 中使用 length() 函数
如何在 R 中使用 cat() 函数
如何在 R 中使用 substring() 函数

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注