R: Convert infiite or NaN values into regular NA

zap_inf {sjmisc} | R Documentation

## Convert infiite or NaN values into regular NA

### Description

Replaces all infinite (`Inf` and `-Inf`) or `NaN` values with regular `NA`.

### Usage

    zap_inf(x, ...)

### Arguments

`x` | A vector or a data frame.
`...` | Optional, unquoted names of variables that should be selected for further processing. Required, if `x` is a data frame (and no vector) and only selected variables from `x` should be processed. You may also use functions like `:` or tidyselect's `select_helpers`. See 'Examples' or package-vignette.

### Value

`x`, where all `Inf`, `-Inf` and `NaN` are converted to `NA`.

### Examples

    x <- c(1, 2, NA, 3, NaN, 4, NA, 5, Inf, -Inf, 6, 7)
    zap_inf(x)

    data(efc)
    # produce some NA and NaN values
    efc$e42dep[1] <- NaN
    efc$e42dep[2] <- NA
    efc$c12hour[1] <- NaN
    efc$c12hour[2] <- NA
    efc$e17age[2] <- NaN
    efc$e17age[1] <- NA

    # only zap NaN for c12hour
    zap_inf(efc$c12hour)

    # only zap NaN for c12hour and e17age, not for e42dep,
    # but return complete data framee
    zap_inf(efc, c12hour, e17age)

    # zap NaN for complete data frame
    zap_inf(efc)

[Package sjmisc version 2.7.5 Index]