Dave Mason continues his journey toward learning R.  He looks next at the `class()` function:

Note the value assigned to horse_power is a whole number (integer) and the value assigned to miles_per_gallon is a rational number. But R tells us they are both of the “numeric” class. R does have an integer class. A variable’s class will be an integer if the value is followed by a capital “L”. Let’s reassign a value to horse_power to demonstrate:

```> horse_power <- 240L
> class(horse_power)
 "integer"```

Another way to determine the class of a variable is to use one of the is.*() functions. For example, is.integer() and is.numeric() tell us the miles_per_gallon is not an integer, and is a numeric:

```> is.integer(miles_per_gallon)
 FALSE
> is.numeric(miles_per_gallon)
 TRUE```

There’s also the `typeof()` function and the `mode()` function, and all three can differ under certain circumstances.

It’s important to know that the elements of a vector must be of the same class (data type). If the values passed to the c() function are of different classes, some of them will be coerced to a different class to ensure all classes of the vector are the same. Below, the parameter classes passed to the c() function include character, numeric, and integer. The corresponding numeric and integer parameter values are coerced to character within the vector:

```> some_data <- c("a", "b", 7.5, 25L)
> some_data
 "a" "b" "7.5" "25"
>```