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