There are some special values in R Programming language, namely, these are `NA, Inf, -inf, NaN`

, and `NULL`

.

### Special Values in R Programming Language

For numeric variables, several formalized special values are used. The calculations involving special values often result in special values. Regarding statistics, the real-world phenomenon should not include a special value. Therefore, it is desirable to handle special values before performing any statistical, especially inferential analysis. On the other hand, functions in R result in errors or warnings when a variable contains special values.

The `NA`

values in R (NA stands for Not Available) represent the missing observations. A missing value may occur due to the non-response of the respondent or may arise when the vector size is expanded. For example,

v = c(1, 5, 6) v[5] = 4 v ## Output [1] 1 5 6 NA 4

To learn about how to handle missing values in R, see the article: Handling Missing Values in R

`Inf`

and `-Inf`

values in R represent a too-big number, which occurs during computation. `Inf`

is for the positive number and -Inf is for the negative number (both represent the positive infinity, and negative infinity, respectively). `Inf`

or `-Inf`

also results when a value or variable is divided by 0. For example,

2 ^ 1024 ## Output [1] Inf -2^1024 ## Output [1] -Inf 1/0 ## Output [1] Inf -Inf + 1e10 ## Output [1] -Inf

Sometimes a computation will produce a result that makes little sense. In such cases, R often returns `NaN`

(Not a Number). For example,

Inf - Inf NaN 0/0 ## Output

In R, the Null object is represented by the symbol `NULL`

. It is often used as an argument in functions to represent that no value was assigned to the argument. Additionally, some functions may return NULL. Note that the NULL is not the same as `NA, Inf, -Inf`

, or `NaN`

.

### Getting Information about Special Values

Also, look at the `str(), typeof()`

, and the length of `Inf`

, `-Inf, NA, NaN`

, and `Null`

.

It is worth noting that, the special values in numeric variables indicate values that are not an element of the mathematical set of real numbers. One can use `is.finite()`

function to determine whether the values are regular values or special values. `is.finite()`

function only accepts vector objects. for example,

is.finite(c(1, Inf, NaN, NA))

A function can be written to deal with every numerical column in a data frame. For example,

special <- function(x){ if (is.numeric(x)){ return(!is.finite(x)) }else { return (is.na(x)) } } sapply(airquality, special)

The user defined `special()`

function will test each column of the data frame object (airquality). The function will each special value if the object is numeric, otherwise it only checks for `NA`

.