# Calculate the Min in R

You need to calculate the minimum value of a numerical dataset in R.

## Step-by-step tutorial

Use the min function from the base package. The specific approach depends on the data representation, as we illustrate below.

### Vector data

Use min to get the minimum value in a vector:

> min(c(4, 5, 6, 2, 8, 8, 4))
[1] 2

You can also use the range function to get the minimum and maximum in a single shot:

> range(c(4, 5, 6, 2, 8, 8, 4))
[1] 2 8

### Data frame

> precip.df <- read.csv("precip-central-park.csv")
YEAR  JAN  FEB  MAR  APR  MAY  JUN  JUL  AUG  SEP  OCT  NOV  DEC ANNUAL
1 1869 2.53 6.87 4.61 1.39 4.15 4.40 3.20 1.76 2.81 6.48 2.03 5.02  45.25
2 1870 4.41 2.83 3.33 5.11 1.83 2.82 3.76 3.07 2.52 4.97 2.42 2.18  39.25
3 1871 2.07 2.72 5.54 3.03 4.04 7.05 5.57 5.60 2.34 7.50 3.56 2.24  51.26
4 1872 1.88 1.29 3.74 2.29 2.68 2.93 7.83 6.29 2.95 3.35 4.08 3.18  42.49
5 1873 5.34 3.80 2.09 4.16 3.69 1.28 4.61 9.56 3.14 2.73 4.63 2.96  47.99
6 1874 5.33 2.04 2.12 8.77 2.24 2.78 5.06 2.43 8.24 1.70 2.30 2.82  45.83
> min(precip[, "JUL"])
[1] 0.44

As above, you can use range to get the minimum and maximum together:

> range(precip.df[, "JUL"])
[1]  0.44 11.89

### Tibble

> library(readr)
Parsed with column specification:
cols(
YEAR = col_double(),
JAN = col_double(),
FEB = col_double(),
MAR = col_double(),
APR = col_double(),
MAY = col_double(),
JUN = col_double(),
JUL = col_double(),
AUG = col_double(),
SEP = col_double(),
OCT = col_double(),
NOV = col_double(),
DEC = col_double(),
ANNUAL = col_double()
)
> min(precip.tbl[, "JUL"])
[1] 0.44

Once again, you can use range to get the minimum and maximum together:

7gt; range(precip.tbl[, "JUL"])
[1]  0.44 11.89