Как исправить в R: «x» должен быть числовым

Как исправить в R: «x» должен быть числовым

Одна ошибка, с которой вы можете столкнуться в R:

Error in hist.default(data) : 'x' must be numeric

Эта ошибка возникает при попытке создать гистограмму для переменной, которая не является числовой.

В этом руководстве рассказывается, как именно исправить эту ошибку.

Как воспроизвести ошибку

Предположим, мы пытаемся создать гистограмму для следующего вектора данных:

#define vector
data <- c('1.2', '1.4', '1.7', '1.9', '2.2', '2.5', '3', '3.4', '3.7', '4.1')

#attempt to create histogram to visualize distribution of values in vector
hist(data)

Error in hist.default(data) : 'x' must be numeric

Мы получаем ошибку, потому что данные в настоящее время не являются числовым вектором. Мы можем подтвердить это, проверив класс:

#check class
class(data)

[1] "character"

В настоящее время данные являются вектором символов.

Как исправить ошибку

Самый простой способ исправить эту ошибку — просто использовать as.numeric() для преобразования нашего вектора в числовой:

#convert vector from character to numeric
data_numeric <- as. numeric (data)

#create histogram
hist(data_numeric)

Обратите внимание, что мы не получаем ошибку и можем успешно создать гистограмму, потому что наш вектор теперь является числовым.

Мы можем убедиться в этом, проверив класс:

#check class
class(data_numeric)

[1] "numeric"

Дополнительные ресурсы

В следующих руководствах объясняется, как исправить другие распространенные ошибки в R:

Как исправить: NA, введенные принуждением
Как исправить: неправильное количество индексов в матрице
Как исправить: количество элементов для замены не кратно длине замены

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.