Jak naprawić: błąd w strsplit(specyfikacja jednostki, ” „): argument bez znaku
Błąd, który możesz napotkać w R to:
Error in strsplit(df$my_column, split = "1"): non-character argument
Ten błąd zwykle występuje, gdy próbujesz użyć funkcji strsplit() w R do podzielenia łańcucha, gdy obiekt, z którym pracujesz, nie jest ciągiem.
W tym samouczku dokładnie wyjaśniono, jak naprawić ten błąd.
Jak odtworzyć błąd
Załóżmy, że mamy następującą ramkę danych w 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
Załóżmy teraz, że spróbujemy użyć funkcji strsplit() do podzielenia wartości w kolumnie „punkty” w oparciu o to, gdzie pojawia się cyfra 1:
#attempt to split values in points column
strsplit(df$points, split="1")
Error in strsplit(df$points, split = "1"): non-character argument
Otrzymujemy błąd, ponieważ zmienna „punkty” nie jest znakiem.
Możemy to potwierdzić sprawdzając klasę tej zmiennej:
#display class of "points" variable
class(df$points)
[1] "digital"
Widzimy, że zmienna ta ma klasę numeryczną.
Jak naprawić błąd
Sposobem na naprawienie tego błędu jest użycie funkcji as.character() w celu przekonwertowania zmiennej „punkty” na znak przed próbą użycia funkcji 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"
Tym razem pomyślnie podzieliliśmy każdą wartość w kolumnie „punkty”, ponieważ najpierw użyliśmy funkcji as.character() do konwersji „punktów” na znak.
Dodatkowe zasoby
Poniższe samouczki wyjaśniają, jak rozwiązać inne typowe błędy w języku R:
Jak naprawić w R: Nazwy nie pasują do poprzednich nazw
Jak naprawić w R: więcej kolumn niż nazw kolumn
Jak naprawić w R: wymiana ma X wierszy, dane mają Y