The `complete.cases()` function takes a data frame or table as its argument and returns a Boolean vector with `TRUE` for rows that have no missing values, and `FALSE` otherwise:

> complete.cases(dat) [1] TRUE TRUE TRUE FALSE TRUE FALSE TRUE TRUE TRUE [10] TRUE TRUE TRUE FALSE TRUE TRUE TRUE FALSE TRUE [19] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE

Rows 4, 6, 13, and 17 have at least one missing value. Instead of using the `na.omit()` function, we can do the following as well:

> dat.cleaned <- dat[complete.cases(dat),] > nrow(dat.cleaned) [1] 23