Как исправить в R: объект не найден

Как исправить в 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() для отображения имен всех объектов в текущей среде и exists() для проверки существования определенного имени объекта:

#display the names of all objects in environment
ls()

[1] "df" "my_df" "x"

#check if my_data exists
exists('my_data')

[1] FALSE

Мы видим, что exists('my_data') возвращает FALSE , что объясняет, почему мы получили ошибку, когда попытались ее отобразить.

Пример #2: Объект не найден, когда выделен неверный фрагмент кода

Другая причина, по которой мы можем получить сообщение об ошибке « Объект не найден », заключается в том, что мы выделили фрагмент кода для запуска в RStudio, который не содержит имени объекта, на который мы пытаемся ссылаться.

Например, рассмотрим следующий снимок экрана, где мы выделяем строки с 3 по 5 и пытаемся вычислить среднее значение значения с именем x :

объект не найден ошибка в R

Поскольку мы создали вектор с именем x в строке 2, мы получаем сообщение об ошибке, потому что на самом деле мы не создали этот вектор в выделенном фрагменте кода.

Если вместо этого мы убедимся, что выделяем весь интересующий нас фрагмент кода, мы не получим никакой ошибки:

Обратите внимание, что на этот раз RStudio отображает среднее значение вектора x без каких-либо ошибок.

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

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

Как исправить в R: имена не совпадают с предыдущими именами
Как исправить в R: более длинная длина объекта не кратна более короткой длине объекта
Как исправить в R: контрасты могут применяться только к факторам с 2 или более уровнями

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