Як виправити: помилка в plot.window(…): потрібні значення файлу 'xlim'


Помилка, з якою ви можете зіткнутися під час використання R:

 Error in plot.window(...): need finite 'xlim' values

Ця помилка виникає, коли ви намагаєтеся створити діаграму в R і використовуєте символьний вектор або вектор із лише значеннями NA на осі x.

У наведених нижче прикладах показано два різні сценарії, у яких ця помилка може виникнути на практиці.

Приклад 1: Помилка з символьним вектором

Припустімо, ви намагаєтеся створити діаграму розсіювання за допомогою такого коду:

 #define data
x <- c('A', 'B', 'C', 'D', 'E', 'F')
y <- c(3, 6, 7, 8, 14, 19)

#attempt to create scatterplot
plot(x, y)

Error in plot.window(...): need finite 'xlim' values

Ми отримуємо помилку, оскільки вектор, який ми використовували для значень осі абсцисс, є символьним вектором.

Щоб виправити цю помилку, нам просто потрібно надати числовий вектор осі x:

 #define two numeric vectors
x <- c(1, 2, 3, 4, 5, 6)
y <- c(3, 6, 7, 8, 14, 19)

#create scatterplot
plot(x, y) 

Ми можемо створити діаграму розсіювання без будь-яких помилок, оскільки ми надали числовий вектор для осі x.

Приклад 2: Помилка з вектором значення NA

Припустімо, ви намагаєтеся створити діаграму розсіювання за допомогою такого коду:

 #define data
x <- c(NA, NA, NA, NA, NA, NA)
y <- c(3, 6, 7, 8, 14, 19)

#attempt to create scatterplot
plot(x, y)

Error in plot.window(...): need finite 'xlim' values

Ми отримуємо повідомлення про помилку, оскільки вектор, який ми використовували для значень осі X, є вектором лише зі значеннями NA.

Щоб виправити цю помилку, нам просто потрібно надати числовий вектор осі x:

 #define two numeric vectors
x <- c(1, 5, 9, 13, 19, 22)
y <- c(3, 6, 7, 8, 14, 19)

#create scatterplot
plot(x, y) 

Знову ми змогли створити безпомилкову діаграму розсіювання, оскільки використали числовий вектор для осі x.

Додаткові ресурси

У наступних посібниках пояснюється, як виправити інші типові помилки в R:

Як виправити помилку R: неочікувана константа рядка
Як виправити помилку R: дискретне значення, надане в безперервній шкалі
Як виправити помилку R: аргумент не є ані числовим, ані логічним: повертає na

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

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