Converts factor levels or labelled values to numeric. For factors, uses the underlying integer codes (or the numeric value of levels if they are numeric strings). For labelled variables, extracts the underlying numeric values.
Usage
to_numeric(
data,
...,
use_labels = TRUE,
start_at = NULL,
keep_labels = FALSE,
use.labels = NULL,
start.at = NULL,
keep.labels = NULL
)Arguments
- data
A data frame, tibble, or a single vector.
- ...
Optional: unquoted variable names (tidyselect supported). If empty, converts all factor columns.
- use_labels
If
TRUE(default), restores the original codes of a factor created byto_label(), otherwise uses the numeric value of factor levels (e.g., level"3"becomes3). IfFALSE, uses sequential integers (1, 2, 3, ...).- start_at
If not
NULL, the lowest numeric value in the output starts at this number. Default:NULL(use original values).- keep_labels
If
TRUE, the result is ahaven_labelledvector: the former factor levels (or the existing value labels and missing-value types of a labelled input) are kept, so they survivewrite_spss(). Default:FALSE(plain numeric; missing-value types becomeNA).- use.labels, start.at, keep.labels
Defunct dot-case argument names, removed in mariposa 0.6.9. Calling the function with any of them is an error; use the snake_case equivalents instead. (The formals are retained only so that the old names error clearly instead of being swallowed by
....)
Value
The input with variables converted to numeric. For single vector input, returns a numeric vector.
Details
This function handles four input types:
Factors from
to_label(): Restores the original codes stored in the"codes"attribute, so ato_label()/to_numeric()round trip returns the original values (6, 42, 90, ...) instead of 1, 2, 3.Numeric factors (levels like
"1","2","3"): Extracts the numeric values from the level names.Other text factors (levels like
"Male","Female"): Converts to sequential integers (1, 2, 3, ... in level order). Useuse_labels = FALSEto force this behavior for any factor.haven_labelled: Extracts the underlying numeric vector, stripping the labelled class. Missing-value types of imported data (tagged NAs) become plain
NA.
See also
to_label() for the reverse (numeric -> factor),
to_labelled() for creating labelled vectors
Other labels:
copy_labels(),
drop_labels(),
find_var(),
set_na(),
to_character(),
to_label(),
to_labelled(),
unlabel(),
val_labels(),
var_label()
Examples
# Numeric factor levels -> numeric
x <- factor(c("1", "3", "5", "3"))
to_numeric(x)
#> [1] 1 3 5 3
# [1] 1 3 5 3
# Sequential integers
to_numeric(x, use_labels = FALSE)
#> [1] 1 2 3 2
# [1] 1 2 3 2
# Haven labelled -> plain numeric
to_numeric(survey_data$life_satisfaction)
#> [1] 4 3 2 2 4 4 3 3 4 3 1 1 2 5 3 2 3 4 3 3 2 5 1 5
#> [25] 5 2 5 4 5 5 3 3 2 3 5 1 NA 2 3 3 3 2 4 3 3 3 4 3
#> [49] 2 3 3 4 3 3 3 1 4 4 2 5 2 5 4 2 2 5 2 5 5 3 5 NA
#> [73] 2 5 3 2 5 3 5 4 5 2 5 5 5 4 4 NA 5 4 4 5 3 4 3 4
#> [97] 2 NA 5 4 1 4 1 3 4 3 4 2 4 2 4 3 NA 5 2 5 NA 4 4 5
#> [121] 5 3 3 1 3 1 4 4 5 4 4 NA 5 2 3 5 5 4 5 2 3 5 5 5
#> [145] 3 4 5 5 3 5 4 4 5 5 5 2 4 5 3 3 4 4 2 4 5 4 2 1
#> [169] 5 4 3 3 3 4 4 5 4 3 2 4 4 5 4 4 5 4 5 5 NA 2 1 4
#> [193] 4 5 4 4 5 4 2 4 5 1 NA 4 4 NA 1 3 3 5 4 5 3 3 NA 3
#> [217] 4 5 2 3 5 5 5 5 5 2 3 2 4 3 3 4 5 5 5 2 5 NA 5 5
#> [241] 5 5 5 2 2 2 5 4 5 4 3 4 4 5 4 3 5 3 NA 5 5 1 2 5
#> [265] 4 2 2 3 4 1 4 5 5 1 3 4 5 4 3 5 3 4 3 4 4 4 4 3
#> [289] 1 4 3 5 4 4 3 5 5 5 5 2 3 2 3 3 5 4 3 5 4 3 3 3
#> [313] 5 4 3 3 3 NA 5 3 3 1 5 4 4 4 4 5 4 3 4 5 2 4 4 5
#> [337] 5 4 3 3 5 5 4 3 5 4 2 2 4 5 1 3 2 2 3 3 3 5 5 2
#> [361] 5 2 3 3 4 4 5 4 5 5 2 5 5 4 5 1 NA 4 2 4 3 5 3 2
#> [385] 3 3 2 3 3 5 5 5 2 2 2 5 5 4 2 4 4 5 1 1 4 4 3 5
#> [409] 4 5 5 3 4 4 5 3 4 5 3 1 3 3 5 4 4 4 4 4 2 2 2 4
#> [433] 3 4 2 3 4 3 1 4 2 4 5 2 3 3 4 5 NA 4 4 5 5 4 2 1
#> [457] 1 3 3 4 NA 3 2 3 2 4 4 3 4 3 2 5 4 3 3 4 3 4 5 4
#> [481] 1 2 3 4 3 3 2 3 3 3 4 5 4 5 2 5 5 2 5 4 3 2 3 4
#> [505] 4 2 2 5 2 2 4 4 5 3 1 4 3 5 4 5 NA 3 2 5 1 3 3 5
#> [529] 3 4 2 2 3 5 5 3 4 2 5 5 4 5 1 4 5 2 4 5 2 NA 4 4
#> [553] 5 4 4 2 5 4 4 4 3 4 3 3 4 5 3 5 3 4 5 4 3 5 1 4
#> [577] 4 5 1 4 3 5 3 4 NA 3 3 3 3 4 5 5 5 3 5 5 4 3 4 4
#> [601] 3 5 2 5 2 4 5 3 5 2 3 4 3 4 1 4 4 4 5 4 5 3 5 5
#> [625] 3 4 4 5 3 3 5 5 4 5 3 4 2 4 5 4 5 5 4 5 4 3 4 4
#> [649] 1 4 2 4 4 5 NA 1 2 4 5 4 4 NA 4 3 5 5 4 5 2 3 5 3
#> [673] 5 3 4 5 4 4 5 3 3 4 2 5 4 3 2 5 3 3 4 1 5 3 4 4
#> [697] 4 3 4 4 1 4 5 5 3 5 3 3 5 5 4 1 1 3 3 5 NA 3 5 4
#> [721] 5 5 5 3 5 1 5 4 4 4 4 3 4 3 5 5 2 5 5 4 3 1 5 3
#> [745] 3 3 3 2 5 5 4 2 4 2 4 3 3 4 5 5 4 3 3 3 5 5 NA 4
#> [769] 1 1 3 5 4 5 3 4 2 3 2 5 2 5 5 3 3 5 5 4 5 4 5 3
#> [793] 4 4 3 3 5 4 5 3 3 3 NA 4 3 4 3 4 1 3 4 5 1 5 NA 2
#> [817] 3 2 1 5 5 4 5 3 3 5 3 5 1 4 1 5 3 4 3 2 3 4 3 3
#> [841] 4 5 2 5 5 1 3 2 3 2 4 NA 5 3 4 3 5 2 3 4 5 5 4 5
#> [865] 5 3 4 5 4 2 3 1 4 5 4 3 5 4 5 5 5 3 2 4 5 5 4 4
#> [889] 4 2 4 3 1 5 3 4 5 3 4 4 4 NA 4 5 4 4 4 4 3 2 4 4
#> [913] 5 5 5 4 4 5 5 2 3 5 3 5 2 2 2 3 3 4 3 4 4 4 5 5
#> [937] 2 5 5 5 5 4 4 3 2 2 4 4 4 2 3 3 3 3 5 5 4 5 4 5
#> [961] 3 2 5 2 5 3 1 4 2 NA 3 3 2 5 3 2 5 3 4 3 3 4 3 4
#> [985] 2 5 2 2 3 5 3 5 4 4 4 3 3 5 3 3 4 4 3 3 3 5 4 4
#> [1009] 5 4 5 3 4 NA 2 3 5 3 5 5 1 5 4 3 5 4 3 5 4 3 5 4
#> [1033] 5 3 5 3 NA 1 5 4 4 3 2 3 3 4 3 5 3 5 NA 2 3 5 5 1
#> [1057] 2 5 5 4 3 1 3 5 2 3 4 5 5 4 5 4 3 NA 4 4 2 5 2 4
#> [1081] 5 2 3 4 4 3 2 5 2 4 5 3 5 3 4 2 5 3 4 5 4 4 3 5
#> [1105] 3 2 3 5 5 NA 5 5 5 3 2 5 3 3 3 2 4 3 3 5 4 3 5 5
#> [1129] 3 5 4 4 4 5 4 3 5 3 5 5 NA 4 1 3 5 3 5 4 NA 4 4 4
#> [1153] 4 5 5 4 3 4 2 4 4 4 5 2 5 5 4 3 3 4 2 4 5 5 1 3
#> [1177] NA 2 5 2 4 3 3 2 4 5 4 5 3 3 3 1 2 4 5 3 2 4 1 4
#> [1201] 3 5 5 4 5 3 3 5 3 5 3 5 5 5 1 2 2 4 4 5 3 4 1 5
#> [1225] 3 2 1 1 3 5 5 5 4 2 4 4 2 2 NA 4 2 5 5 4 5 4 3 3
#> [1249] 2 4 3 3 3 3 3 3 2 NA 5 4 2 3 5 5 5 3 5 3 4 3 5 5
#> [1273] 5 2 5 4 4 4 4 NA 5 5 5 4 NA 4 4 5 NA 3 2 5 3 2 4 4
#> [1297] 3 5 4 5 4 5 5 5 2 4 2 3 4 4 4 2 5 3 3 4 4 4 NA 4
#> [1321] 3 5 3 5 NA 4 5 3 5 2 2 5 3 5 4 4 5 4 2 5 4 1 4 3
#> [1345] 4 3 2 2 4 1 4 5 5 4 5 4 1 2 5 5 3 4 4 4 4 5 3 1
#> [1369] 4 3 3 5 3 5 4 5 3 5 4 4 4 3 NA 5 3 4 3 1 5 5 3 3
#> [1393] 4 2 4 5 2 4 4 3 5 2 4 4 4 3 5 5 NA 5 4 2 2 2 4 4
#> [1417] 5 3 4 3 4 4 3 4 5 2 2 NA 4 5 1 5 5 3 5 5 5 4 4 5
#> [1441] 3 5 5 2 3 3 3 5 4 5 2 5 3 4 3 4 5 1 4 NA 4 3 5 4
#> [1465] 3 5 4 3 5 4 2 4 4 4 4 2 2 5 4 3 2 4 2 2 5 4 3 3
#> [1489] 5 4 4 2 4 2 5 5 3 2 4 4 4 4 1 4 2 4 4 4 4 2 2 4
#> [1513] 5 5 3 4 4 3 4 2 3 4 3 5 4 3 4 4 4 5 4 2 2 4 5 3
#> [1537] 3 3 3 4 3 2 5 1 3 3 3 3 5 1 3 3 5 4 1 4 4 3 2 3
#> [1561] 2 1 4 4 5 5 5 3 3 4 5 4 2 NA 5 4 5 2 3 2 3 4 5 3
#> [1585] 4 2 4 4 3 3 2 5 4 2 NA 2 4 4 4 3 2 4 4 3 3 3 4 2
#> [1609] 2 3 3 4 5 NA 5 2 3 4 3 4 3 4 5 2 4 5 3 3 5 4 5 5
#> [1633] 4 1 3 4 3 5 5 3 4 NA 4 4 4 2 5 2 4 3 2 4 3 3 4 4
#> [1657] 3 5 3 4 5 4 5 2 3 5 3 5 4 4 2 4 1 3 5 4 5 3 5 1
#> [1681] 4 5 3 4 4 2 2 5 3 5 5 5 5 4 2 4 3 3 3 2 5 4 1 4
#> [1705] 2 NA 5 4 4 3 2 4 3 4 5 4 4 3 5 4 4 5 5 2 3 NA 4 3
#> [1729] 2 1 3 3 2 4 NA 1 4 5 2 5 3 3 4 4 4 5 3 5 3 NA 5 3
#> [1753] 4 4 3 5 5 2 3 4 4 5 3 5 2 5 5 4 4 5 4 3 3 4 4 5
#> [1777] 3 4 1 5 5 4 4 4 2 4 5 4 4 4 4 5 4 5 NA 5 3 5 5 5
#> [1801] 5 3 5 3 4 NA 2 5 3 2 4 5 3 1 4 4 3 1 2 3 4 4 5 5
#> [1825] 5 2 4 4 5 1 5 3 4 3 4 3 4 3 5 4 5 3 2 5 NA 5 5 3
#> [1849] 4 2 5 1 4 5 4 2 3 3 3 3 3 3 4 4 NA 3 1 4 4 4 3 3
#> [1873] 3 4 4 5 5 3 4 NA 4 3 3 4 5 5 4 4 4 4 3 3 3 5 4 4
#> [1897] 3 2 4 4 4 4 2 4 1 5 2 5 3 5 NA 5 2 5 2 4 1 2 5 3
#> [1921] 4 3 2 3 2 4 4 5 4 5 4 4 5 5 4 2 5 5 4 2 2 5 5 4
#> [1945] 3 5 NA 2 3 4 3 2 4 5 1 4 4 4 5 3 5 5 4 2 2 3 2 4
#> [1969] 5 4 5 1 5 4 4 4 3 3 5 5 4 5 5 4 2 3 3 5 4 NA 5 5
#> [1993] 3 5 5 1 3 4 3 2 4 3 4 5 5 5 5 3 3 3 4 4 3 4 5 4
#> [2017] 5 3 2 3 5 4 4 5 4 3 4 4 5 3 2 4 5 2 4 NA 4 4 3 3
#> [2041] 4 3 4 4 3 3 3 3 5 3 1 3 3 1 2 4 3 3 5 2 5 3 1 3
#> [2065] 5 1 4 4 4 5 5 3 5 4 4 3 5 5 3 5 4 4 3 4 5 2 5 4
#> [2089] 4 4 3 3 4 1 4 3 1 3 3 5 4 4 5 2 3 1 5 4 3 5 1 4
#> [2113] 5 5 4 NA 1 5 5 4 4 2 5 4 3 4 3 3 3 4 3 3 5 3 3 5
#> [2137] 5 5 2 2 3 3 4 5 4 5 1 5 2 4 3 3 4 3 5 3 4 3 5 4
#> [2161] 2 5 3 5 4 5 2 3 5 5 5 3 4 2 5 4 4 5 1 5 NA 4 5 3
#> [2185] 2 4 4 4 3 2 5 4 3 4 4 4 5 2 NA 4 3 3 3 5 2 3 2 3
#> [2209] 4 3 4 5 NA 4 3 4 4 4 5 4 4 3 3 2 3 3 5 4 4 5 2 1
#> [2233] 5 4 2 1 3 3 4 5 4 5 2 5 5 5 4 3 4 2 3 4 4 5 4 5
#> [2257] 4 3 4 5 3 4 2 5 4 1 4 2 4 3 4 4 4 5 4 5 2 5 NA 4
#> [2281] 5 5 3 4 NA 5 3 5 1 3 2 4 5 5 5 2 4 3 1 3 3 5 3 3
#> [2305] 2 4 2 5 2 5 4 5 5 5 3 5 4 4 4 2 NA 2 NA 3 2 3 3 3
#> [2329] 4 4 5 2 4 3 1 2 3 3 2 4 1 4 NA 4 4 3 NA 3 2 5 4 5
#> [2353] 3 3 1 4 2 5 4 1 4 2 4 3 2 3 4 5 5 5 4 3 5 4 2 4
#> [2377] NA 1 5 5 1 1 4 3 4 5 3 2 5 4 3 4 4 3 4 4 3 4 5 3
#> [2401] 4 2 5 5 5 5 4 3 5 5 4 3 3 5 5 3 1 5 5 NA 5 5 4 4
#> [2425] 4 4 3 5 5 3 5 4 4 2 4 5 3 2 4 5 5 5 3 3 4 2 3 5
#> [2449] 3 4 NA 5 5 5 4 3 3 4 3 3 5 5 3 3 4 5 2 4 4 4 3 4
#> [2473] 5 3 4 2 4 5 3 3 3 3 5 3 5 3 2 5 4 4 NA 5 1 5 4 4
#> [2497] 2 4 2 4
