R: Replace Numbers With Text Representation

replace_number {textclean} | R Documentation

## Replace Numbers With Text Representation

### Description

Replaces numeric represented numbers with words (e.g., 1001 becomes one thousand one).

### Usage

    replace_number(x, num.paste = FALSE, remove = FALSE, ...)

### Arguments

`x` | The text variable.
`num.paste` | logical. If `FALSE` the elements of larger numbers are separated with spaces. If `TRUE` the elements will be joined without spaces.
`remove` | logical. If `TRUE` numbers are removed from the text.
`...` | Other arguments passed to `as.english`

### Value

Returns a vector with numbers replaced.

### Note

The user may want to use `replace_ordinal` first to remove ordinal number notation. For example `replace_number` would turn "21st" into "twenty onest", whereas `replace_ordinal` would generate "twenty first".

### References

Fox, J. (2005). Programmer's niche: How do you spell that number? R News. Vol. 5(1), pp. 51-55.

### Examples

    x <- c(
        NA,
        'then .456 good',
        'none',
        "I like 346,457 ice cream cones.",
        "I like 123456789 cashes.",
        "They are 99 percent good and 45678.2345667"
    )
    replace_number(x)
    replace_number(x, num.paste = TRUE)
    replace_number(x, remove=TRUE)
    ## Not run:
    library(textclean)
    hunthou <- replace_number(seq_len(1e5))

    textclean::mgsub(
        "'twenty thousand three hundred five' into 20305",
        hunthou,
        seq_len(1e5)
    )
    ## "'20305' into 20305"

    ## Larger example from: https://stackoverflow.com/q/18332463/1000343
    ## A slower approach
    fivehunthou <- replace_number(seq_len(5e5))

    testvect <- c("fifty seven", "four hundred fifty seven",
        "six thousand four hundred fifty seven",
        "forty six thousand four hundred fifty seven",
        "forty six thousand four hundred fifty seven",
        "three hundred forty six thousand four hundred fifty seven"
    )

    textclean::mgsub(testvect, fivehunthou, seq_len(5e5))

    ## End(Not run)

[Package textclean version 0.9.3 Index]