R: Parse numbers, flexibly

parse_number {readr} | R Documentation

## Parse numbers, flexibly

### Description

This drops any non-numeric characters before or after the first number. The grouping mark specified by the locale is ignored inside the number.

### Usage

    parse_number(x, na = c("", "NA"), locale = default_locale(), trim_ws = TRUE)

    col_number()

### Arguments

`x` | Character vector of values to parse.
`na` | Character vector of strings to interpret as missing values. Set this option to `character()` to indicate no missing values.
`locale` | The locale controls defaults that vary from place to place. The default locale is US-centric (like R), but you can use `locale()` to create your own locale that controls things like the default time zone, encoding, decimal mark, big mark, and day/month names.
`trim_ws` | Should leading and trailing whitespace (ASCII spaces and tabs) be trimmed from each field before parsing it?

### Value

A numeric vector (double) of parsed numbers.

### See Also

Other parsers: `col_skip()`, `cols_condense()`, `cols()`, `parse_datetime()`, `parse_factor()`, `parse_guess()`, `parse_logical()`, `parse_vector()`

### Examples

    ## These all return 1000
    parse_number("$1,000") ## leading $ and grouping character , ignored
    parse_number("euro1,000") ## leading non-numeric euro ignored

    parse_number("1,234.56")
    ## explicit locale specifying European grouping and decimal marks
    parse_number("1.234,56", locale = locale(decimal_mark = ",", grouping_mark = "."))
    ## SI/ISO 31-0 standard spaces for number grouping
    parse_number("1 234.56", locale = locale(decimal_mark = ".", grouping_mark = " "))

    ## Specifying strings for NAs
    parse_number(c("1", "2", "3", "NA"))
    parse_number(c("1", "2", "3", "NA", "Nothing"), na = c("NA", "Nothing"))

[Package readr version 2.0.2 Index]