Как исправить в r: 'x' должен быть числовым
Ошибка, с которой вы можете столкнуться в R:
Error in hist.default(data): 'x' must be numeric
Эта ошибка возникает при попытке создать гистограмму для переменной, которая не является числовой.
В этом руководстве объясняется, как именно исправить эту ошибку.
Как воспроизвести ошибку
Предположим, мы пытаемся создать гистограмму для следующего вектора данных:
#definevector 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] "digital"
Дополнительные ресурсы
В следующих руководствах объясняется, как исправить другие распространенные ошибки в R:
Как исправить: NA, введенные в результате принуждения
Как исправить: неправильное количество индексов в матрице
Как исправить: количество элементов для замены не кратно длине замены