# Get Group Max / Min & Add as New Variable to Data in R (2 Examples)

This tutorial shows how to compute the group minima and maxima and append the result as a new variable to a data frame in R.

## Creation of Example Data

```data(iris) # Loading example data head(iris) # Sepal.Length Sepal.Width Petal.Length Petal.Width Species # 1 5.1 3.5 1.4 0.2 setosa # 2 4.9 3.0 1.4 0.2 setosa # 3 4.7 3.2 1.3 0.2 setosa # 4 4.6 3.1 1.5 0.2 setosa # 5 5.0 3.6 1.4 0.2 setosa # 6 5.4 3.9 1.7 0.4 setosa```

## Example 1: Calculating Maximum Value by Group & Append as a New Column

```iris_new1 <- iris # Add group maxima as new column iris_new1\$SL_min <- ave(iris_new1\$Sepal.Length, iris_new1\$Species, FUN = max) head(iris_new1) # Sepal.Length Sepal.Width Petal.Length Petal.Width Species SL_min # 1 5.1 3.5 1.4 0.2 setosa 5.8 # 2 4.9 3.0 1.4 0.2 setosa 5.8 # 3 4.7 3.2 1.3 0.2 setosa 5.8 # 4 4.6 3.1 1.5 0.2 setosa 5.8 # 5 5.0 3.6 1.4 0.2 setosa 5.8 # 6 5.4 3.9 1.7 0.4 setosa 5.8```

## Example 2: Calculating Minimum Value by Group & Append as a New Column

```iris_new2 <- iris # Add group minima as new column iris_new2\$SL_max <- ave(iris_new2\$Sepal.Length, iris_new2\$Species, FUN = min) head(iris_new2) # Sepal.Length Sepal.Width Petal.Length Petal.Width Species SL_max # 1 5.1 3.5 1.4 0.2 setosa 4.3 # 2 4.9 3.0 1.4 0.2 setosa 4.3 # 3 4.7 3.2 1.3 0.2 setosa 4.3 # 4 4.6 3.1 1.5 0.2 setosa 4.3 # 5 5.0 3.6 1.4 0.2 setosa 4.3 # 6 5.4 3.9 1.7 0.4 setosa 4.3```

## Related Tutorials & Further Resources

Have a look at the following list of R tutorials. They explain topics such as dplyr, loops, naming data, and groups.