Як виправити в r: nas, введені примусово
Типове попередження, яке ви можете зустріти в R:
Warning message: NAs introduced by coercion
Це попередження з’являється, коли ви використовуєте as.numeric() для перетворення вектора в R на числовий вектор, і у вихідному векторі є нечислові значення.
Щоб було зрозуміло, вам не потрібно нічого робити, щоб “виправити” це попередження. R просто попереджає вас, що деякі значення у вихідному векторі були перетворені в NA, тому що їх не вдалося перетворити на числові значення.
Однак у цьому підручнику описано точні дії, які ви можете виконати, якщо ви взагалі не хочете бачити це попередження.
Як відтворити попереджувальне повідомлення
Наступний код перетворює символьний вектор на числовий вектор:
#define character vector
x <- c('1', '2', '3', NA, '4', 'Hey')
#convert to numeric vector
x_num <- as. numeric (x)
#display digital vector
x_num
Warning message:
NAs introduced by coercion
[1] 1 2 3 NA 4 NA
R перетворює символьний вектор на числовий вектор, але відображає попереджувальне повідомлення NAs, введене примусово, оскільки два значення вихідного вектора не вдалося перетворити на числові значення.
Спосіб №1: видаліть попередження
Один із способів обробки цього попереджувального повідомлення — просто придушити його за допомогою функції suppressWarnings() під час перетворення символьного вектора на числовий вектор:
#define character vector
x <- c('1', '2', '3', NA, '4', 'Hey')
#convert to numeric vector, suppressing warnings
suppressWarnings(x_num <- as.numeric (x))
#display digital vector
x_num
[1] 1 2 3 NA 4 NA
R успішно перетворює символьний вектор у числовий вектор без відображення жодного попереджувального повідомлення.
Спосіб №2: Замініть нечислові значення
Один із способів уникнути попередження — замінити нечислові значення вихідного вектора пробілами за допомогою функції gsub() :
#define character vector
x <- c('1', '2', '3', '4', 'Hey')
#replace non-numeric values with 0
x <- gsub(" Hey ", " 0 ", x)
#convert to numeric vector
x_num <- as. numeric (x)
#display digital vector
x_num
[1] 1 2 3 4 0
R успішно перетворює символьний вектор у числовий вектор без відображення жодного попереджувального повідомлення.
Додаткові ресурси
У наступних посібниках пояснюється, як вирішити інші поширені помилки в R:
Як виправити в R: імена не збігаються з попередніми іменами
Як виправити в R: довжина довшого об’єкта не є кратною довжині коротшого об’єкта
Як виправити в R: контрасти можна застосовувати лише до факторів із 2 або більше рівнями