En este artículo, vamos a ver cómo Fix: NA introducidos por coerción en el lenguaje de programación R.
producir el error
El error «NA introducido por coerción» ocurre debido a que se reemplaza el valor en un vector con otro valor que «tiene longitud cero»
R
# Creating character vector Vec <- c('12', '12', NA, '34', 'Geeks') # convert to numeric Vec_num <- as.numeric(Vec) # display vector print(Vec_num)
Producción:
Warning message in eval(expr, envir, enclos): "NAs introduced by coercion" [1] 12 12 NA 34 NA
Método 1: Usar el método gsub()
Aquí usaremos el método gsub() para reemplazar el valor no numérico con 0. La función gsub() en lenguaje R se usa para reemplazar todas las coincidencias de un patrón de una string.
Sintaxis: gsub(patrón, reemplazo, string, ignore.case=VERDADERO/FALSO)
Parámetros:
- patrón: string a combinar
- reemplazo: string para reemplazo
- string: string o vector de string
- ignore.case: valor booleano para el reemplazo sensible a mayúsculas y minúsculas
R
# Creating character vector Vec <- c('12', '12', NA, '34', 'Geeks') # replacing non-numeric values with 0 Vec <- gsub("Geeks", "0", Vec) # convert to numeric Vec_num <- as.numeric(Vec) # display vector print(Vec_num)
Producción:
[1] 12 12 NA 34 0
Método 2: Usar el método suprimir Advertencias()
Aquí usaremos métodos de supresión de advertencias() que se utilizan para suprimir las advertencias.
Sintaxis: suprimir Advertencias (arg)
Donde arg puede ser la advertencia
R
# Creating character vector Vec <- c('12', '12', NA, '34', 'Geeks') # convert to numeric suppressWarnings(Vec_num <- as.numeric(Vec)) # display vector print(Vec_num)
Producción:
[1] 12 12 NA 34 NA