Как исправить в 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 :

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

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

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

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

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

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

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

Добавить комментарий

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