The package numericColumns is built to ease the selection of numeric columns, or columns with all elements
having numeric equivalents, from datasets in data frame, data table, or CSV formats. This is meant to shorten
the time it takes to subset datasets to their numerical columns in order to quickly apply numerical-based models.
check_numeric_object asseses if an object can be a numeric value. It returns TRUE
if the object is numeric or if it detects numeric values in character form,
such as "1", "3.4", "-76", etc.
If with_bool is set to TRUE, check_numeric_object assumes booleans
can also have an equivalent numeric form (being 1 and 0).
Any number, even in string form, will pass the test. Objects like factors, string words, or Booleans will fail.
check_numeric_object(1) # [1] TRUE check_numeric_object("-2.7") # [1] TRUE check_numeric_object("bacon1") # [1] FALSE
With the with_bool argument set to TRUE, booleans will also pass the test.
check_numeric_object(TRUE) # [1] FALSE check_numeric_object(TRUE, with_bool = TRUE) # [1] TRUE
check_numeric_list checks if all of the elements in the lst can be a numeric value. It
returns TRUE if all of the elements of lst are numeric or are numbers in
character form, such as "1", "3.4", "-76", etc.
If with_bool is set to TRUE, check_numeric_list assumes booleans
can also have an equivalent numeric form (being 1 and 0), and returns TRUE if it detects a boolean lst.
check_numeric_list will return TRUE if all of the elements of lst are numeric or have a numeric equivalent.
If there exists at least one element who fails the test (such as a word, factor, or boolean), the function will return FALSE.
check_numeric_list(c(1,2,-5,6.7)) # [1] TRUE check_numeric_list(c("-2.7", 7, 9, -5, "9.8")) # [1] TRUE check_numeric_list(list("-2.7", 7, 9, -5, "9.8")) # [1] TRUE check_numeric_list(c("1","3", -5, "bacon")) # [1] FALSE
As with check_numeric_object, with_bool allows for boolean vector or lists to pass the test. Note: We refer
to boolean vectors here because, when booleans are part of an atomic list with other numbers, they will be coerced
to their numeric equivalent, similarly if the atomic list is a character vector.
check_numeric_list(c(TRUE,TRUE, FALSE)) # [1] FALSE check_numeric_list(c(TRUE,TRUE, FALSE),with_bool = T) # [1] TRUE
This function returns all of the columns of the given dataset whose values are numeric or have a
meaningful numerical equivalent. If isCSV is TRUE, then dataset is taken as a string
depicting the name of a CSV file. with_bool specifies if booleans are considered numeric.
The column argument is given to bypass which arguments the test is applied to. Columns that fail the test will
still be returned with the rest, but with their entire values converted to NA. By default, this argument is
FALSE, the test is applied to all the columns, and only the passing ones are returned.
The following arguments only apply when isCSV is TRUE: row_names specifies if the CSV file must be read with row names. It can take as values TRUE, which will set the first column as row names, or a numerical value, which will be selected as the column index for the row names. Note: the column selected as row names must not include duplicates.
An additional header argument is available to read CSV files with their headers. Default is TRUE.
extract_numeric_columns(mtcars) extract_numeric_columns("test_data_1.csv", isCSV = TRUE) extract_numeric_columns("test_data_2.csv", isCSV = TRUE, row_names = TRUE, with_bool = TRUE)
The following will return the columns "mpg", and "cyl" which pass the test, as well as the column "names" which will be coerced to NA's for failing the numeric test.
temp = mtcars temp$names = row.names(temp) extract_numeric_columns(temp, columns = c("mpg", "cyl", "names"))
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.