Cómo corregir: ‘x’ debe ser numérico en R

En este artículo, vamos a ver cómo corregir: ‘x’ debe ser numérico. Para esto, cubriremos dos ejemplos del mensaje de error «x debe ser numérico».

Ejemplo 1: El error en el vector ‘x’ debe ser numérico

En este ejemplo, crearemos un vector e intentaremos trazar un gráfico hist() con datos particulares y luego ocurrirá que la ‘x’ debe ser numérica porque pasamos datos de string a un histograma.

Cómo producir un error:

R

# vector creation
x <- c("61", "4", "21", "67", "89", "2")
 
# display vector
print(x)
 
# plotting hist
hist(x)

Producción:

[1] "61" "4"  "21" "67" "89" "2" 
Error in hist.default(x): 'x' must be numeric
Traceback:

1. hist(x)
2. hist.default(x)
3. stop("'x' must be numeric")

En el ejemplo anterior, hemos visto que cuando tratamos de trazar hist, se produce un error debido a los datos de string, lo que significa que el histograma debe estar en datos numéricos.

Cómo resolver este error:

Para solucionar este error, convertiremos los elementos vectoriales en datos numéricos utilizando métodos as.numeric().

R

x <- c("61", "4", "21", "67", "89", "2")
 
print(x)
res <- as.numeric(x)
hist(res)

Producción:

Ejemplo 2: el error en el marco de datos ‘x’ debe ser numérico

De manera similar, aquí crearemos un marco de datos con elementos de datos de string e intentaremos trazar hist().

Cómo producir un error:

R

# Create data for chart
val <-data.frame("num"=c("77","55","80","60"),
                 "course"=c('DSA','C++','R','Python'))
 
print(val)
hist(val[,1])

Producción:

  num course
1  77    DSA
2  55    C++
3  80      R
4  60 Python
Error in hist.default(val[, 1]): 'x' must be numeric
Traceback:

En el ejemplo anterior, hemos visto que cuando tratamos de trazar hist, se produce un error debido a los datos de string, lo que significa que el histograma debe estar en datos numéricos.

Cómo resolver este error:

Para resolver este error, convertiremos el elemento del marco de datos en datos numéricos utilizando métodos as.numeric().

R

# Create data for chart
val <-data.frame("num"=c(77,55,80,60),
                 "course"=c('DSA','C++','R','Python'))
 
print(val)
 
hist(val[,1])

Producción:

Publicación traducida automáticamente

Artículo escrito por skrg141 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *