Как исправить: ошибка в 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() для разделения значений в столбце «точки» в зависимости от того, где появляется число 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"
На этот раз мы успешно разделили каждое значение в столбце «точки», поскольку сначала использовали функцию as.character() для преобразования «точек» в символ.
Дополнительные ресурсы
В следующих руководствах объясняется, как устранить другие распространенные ошибки в R:
Как исправить в R: Имена не совпадают с предыдущими именами
Как исправить в R: столбцов больше, чем имен столбцов
Как восстановить в R: замена имеет X строк, данные имеют Y