Як виправити в 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 або більше рівнями

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *