Як виправити: помилка в strsplit(unitspec, ” “): аргумент без символу
Помилка, з якою ви можете зіткнутися в R:
Error in strsplit(df$my_column, split = "1"): non-character argument
Ця помилка зазвичай виникає, коли ви намагаєтеся використати функцію strsplit() у R, щоб розділити рядок, коли об’єкт, з яким ви працюєте, не є рядком.
Цей посібник пояснює, як саме виправити цю помилку.
Як відтворити помилку
Припустимо, що ми маємо наступний кадр даних у R:
#create data frame df <- data. frame (team=c('A', 'B', 'C'), dots=c(91910, 14015, 120215)) #view data frame df team points 1 A 91910 2 B 14015 3 C 120215
Тепер припустімо, що ми спробуємо використати функцію strsplit() , щоб розділити значення в стовпці «points» на основі числа 1:
#attempt to split values in points column
strsplit(df$points, split="1")
Error in strsplit(df$points, split = "1"): non-character argument
Ми отримуємо помилку, оскільки змінна “points” не є символом.
Ми можемо підтвердити це, перевіривши клас цієї змінної:
#display class of "points" variable
class(df$points)
[1] "digital"
Ми бачимо, що ця змінна має числовий клас.
Як виправити помилку
Спосіб виправити цю помилку полягає в тому, щоб використати as.character() для перетворення змінної “points” на символ перед спробою використання функції strsplit() :
#split values in points column based on where 1 appears
strsplit(as. character (df$points), split="1")
[[1]]
[1990"
[[2]]
[1] "" "40" "5"
[[3]]
[1] "" "202" "5"
Цього разу ми успішно розділили кожне значення в стовпці «points», оскільки спочатку використали функцію as.character() , щоб перетворити «points» на символ.
Додаткові ресурси
У наступних посібниках пояснюється, як вирішити інші поширені помилки в R:
Як виправити в R: імена не збігаються з попередніми іменами
Як виправити в R: більше стовпців, ніж імен стовпців
Як відновити в R: заміна має X рядків, дані мають Y