pmax() and pmin(): Finding the Parallel Maximum and Minimum in R

[This article was first published on Steve's Data Tips and Tricks, and kindly contributed to R-bloggers]. (You can report issue about the content on this page here)
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.


Title: Unleashing the Power of pmax() and pmin() Functions in R

Introduction: In the realm of data manipulation and analysis, R stands tall as a versatile programming language. Among its plethora of functions, pmax() and pmin() shine as unsung heroes that can greatly simplify your coding experience. These functions allow you to effortlessly find the element-wise maximum and minimum values across vectors in R, providing an elegant solution to a common programming challenge. In this blog post, we’ll dive into the syntax and explore real-world examples that showcase the true potential of pmax() and pmin().

Syntax Demystified:

pmax() Function:

pmax(..., na.rm = FALSE)

  • The ellipsis (...) signifies the input vectors. You can pass two or more vectors to compare element-wise.
  • The na.rm parameter (defaulting to FALSE) determines whether to remove NAs before computation.

pmin() Function:

pmin(..., na.rm = FALSE)

  • Similar to pmax(), the ellipsis (...) denotes the input vectors for element-wise comparison.
  • The na.rm parameter (defaulting to FALSE) decides whether to exclude NAs before calculation.

Exploring Examples:

Example 1: Using pmax() to Find Element-wise Maximum

vec1 <- c(3, 9, 2, 6)
vec2 <- c(7, 1, 8, 4)
result <- pmax(vec1, vec2)
[1] 7 9 8 6

Example 2: Using pmin() to Find Element-wise Minimum

data1 <- c(12, 5, 9, 16)
data2 <- c(6, 14, 8, 11)
result <- pmin(data1, data2)
[1]  6  5  8 11

Example 3: Handling NA Values

data1 <- c(7, 3, NA, 12)
data2 <- c(9, NA, 5, 8)
result <- pmax(data1, data2, na.rm = TRUE)
[1]  9  3  5 12

Try It Yourself:

The best way to truly grasp the power of pmax() and pmin() is to experiment on your own. Create vectors of your own data and challenge yourself with different scenarios. These functions not only save time but also make your code more concise and readable.

In conclusion, pmax() and pmin() are the secret weapons in your R arsenal. Their ability to find element-wise maximum and minimum values with ease can transform your coding experience. So go ahead, dive into your data, and harness the efficiency and elegance these functions bring to your projects!

Remember, the journey of coding mastery begins with experimentation. Happy coding with pmax() and pmin()!

Happy coding! Steve

To leave a comment for the author, please follow the link and comment on their blog: Steve's Data Tips and Tricks. offers daily e-mail updates about R news and tutorials about learning R and many other topics. Click here if you're looking to post or find an R/data-science job.
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.

Never miss an update!
Subscribe to R-bloggers to receive
e-mails with the latest R posts.
(You will not see this message again.)

Click here to close (This popup will not appear again)