Как исправить в r: объект не найден
Распространенная ошибка, с которой вы можете столкнуться в R:
Error: object 'x' not found
Эта ошибка обычно возникает по одной из двух причин:
Причина 1. Вы пытаетесь сослаться на объект, который вы не создавали.
Причина 2. Вы выполняете фрагмент кода, в котором объект не определен.
В следующих примерах объясняется, как устранить эту ошибку в каждом из этих сценариев.
Пример № 1: Объект не найден, если объект не существует
Предположим, мы используем следующий код для отображения фрейма данных, который мы не создавали:
#create data frame
my_df <- data. frame (team=c('A', 'B', 'C', 'D', 'E'),
points=c(99, 90, 86, 88, 95),
assists=c(33, 28, 31, 39, 34),
rebounds=c(30, 28, 24, 24, 28))
#attempt to display data frame
my_data
Error: object 'my_data' not found
Мы получаем ошибку, поскольку объект my_data не существует.
Вместо этого нам нужно ввести правильное имя созданного нами фрейма данных:
#display data frame
my_df
team points assists rebounds
1 A 99 33 30
2 B 90 28 28
3 C 86 31 24
4 D 88 39 24
5 E 95 34 28
На этот раз мы можем отобразить фрейм данных без ошибок, поскольку использовали правильное имя.
Обратите внимание, что мы также можем использовать ls() для отображения всех имен объектов в нашей текущей среде и Exist() для проверки существования определенного имени объекта:
#display the names of all objects in environment ls() [1] "df" "my_df" "x" #check if my_data exists exists(' my_data ') [1] FALSE
Мы видим, что Exist(‘my_data’) возвращает FALSE , поэтому мы получили ошибку при попытке отобразить ее.
Пример №2: Объект не найден, если выделен неправильный фрагмент кода
Другая причина, по которой мы можем получить сообщение об ошибке «Объект не найден », заключается в том, что мы выделили фрагмент кода для запуска в RStudio, который не содержит имени объекта, на который мы пытаемся сослаться.
Например, рассмотрим следующий снимок экрана, на котором мы выделяем строки с 3 по 5 и пытаемся вычислить среднее значение с именем x :
Поскольку мы создали вектор с именем x в строке 2, мы получаем ошибку, поскольку на самом деле мы не создавали этот вектор в выделенном фрагменте кода.
Если вместо этого мы обязательно выделим весь интересующий нас фрагмент кода, мы не получим никаких ошибок:
Обратите внимание, что RStudio на этот раз отображает среднее значение вектора x без каких-либо ошибок.
Дополнительные ресурсы
В следующих руководствах объясняется, как устранить другие распространенные ошибки в R:
Как исправить в R: Имена не совпадают с предыдущими именами
Как исправить в R: длина более длинного объекта не кратна длине более короткого объекта
Как исправить в R: контрасты можно применять только к факторам с 2 и более уровнями