tonum {easyr} R Documentation

## Convert to Number

Flexible number conversion for converting strings to numbers. Handles $, ' and spaces. Author: Bryce Chamberlain. Tech review: Dominic Dillingham. ### Usage tonum( x, preprocessed.values = NULL, nastrings = easyr::nastrings, ifna = c("return-unchanged", "error", "warning", "return-na"), verbose = TRUE, nazero = FALSE, checkdate = TRUE, remove.chars = FALSE, do.logical = TRUE, do.try.integer = TRUE, multipliers = c(% = 1/100, K = 1000, M = 1000^2, B = 1000^3) )  ### Arguments  x Vector to convert. preprocessed.values Strings need to have NAs set, lowercase and be trimmed before they can be checked. To avoid doing this multiple times, you can pass these processed values to the function. nastrings Vector of characters to be considered NAs. todate will treat these like NAs. Defaults to the easyr::nastrings list. ifna Action to take if NAs are created. 'return-unchanged' returns the sent vector unchanged; 'warning' results in a warning and returns the converted vector with new NAs; 'error' results in an error; return-na returns data with new NAs and prints via cat if verbose. verbose Choose to view messaging. nazero (Optional) Convert NAs to 0. Defaults to TRUE, if FALSE NAs will stay NA. checkdate Check if the column is a date first. If this has already been done, set this to FALSE so it doesn't run again. remove.chars Remove characters for aggressive conversion to numbers. do.logical Check for logical-form vectors. do.try.integer Return an integer if possible. Integers are a more compact data type and should be used whenever possible. multipliers Named vector of factor symbols and values to check. Setting to NULL may speed up operations. ### Value Converted vector. ### Examples tonum( c('123','$50.02','30%','(300.01)',NA,'-','') )
tonum( c('123','$50.02','30%','(300.01)',NA,'-',''), nazero = FALSE ) tonum( c( '$(3,891)M', '4B', '3.41K', '30', '40K' ) )


[Package easyr version 0.5-8 Index]