Come risolvere: errore in strsplit(unitspec, ” “): argomento senza carattere
Un errore che potresti riscontrare in R è:
Error in strsplit(df$my_column, split = "1"): non-character argument
Questo errore in genere si verifica quando si tenta di utilizzare la funzione strsplit() in R per dividere una stringa, quando l’oggetto con cui si sta lavorando non è una stringa.
Questo tutorial spiega esattamente come correggere questo errore.
Come riprodurre l’errore
Supponiamo di avere il seguente frame di dati in 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
Supponiamo ora di provare ad utilizzare la funzione strsplit() per dividere i valori nella colonna “punti” in base a dove appare il numero 1:
#attempt to split values in points column
strsplit(df$points, split="1")
Error in strsplit(df$points, split = "1"): non-character argument
Riceviamo un errore perché la variabile “punti” non è un carattere.
Possiamo confermarlo controllando la classe di questa variabile:
#display class of "points" variable
class(df$points)
[1] "digital"
Possiamo vedere che questa variabile ha una classe numerica.
Come correggere l’errore
Il modo per correggere questo errore è utilizzare as.character() per convertire la variabile “points” in un carattere prima di provare a utilizzare la funzione 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"
Questa volta abbiamo diviso con successo ciascun valore nella colonna “punti” perché prima abbiamo utilizzato la funzione as.character() per convertire i “punti” in un carattere.
Risorse addizionali
I seguenti tutorial spiegano come risolvere altri errori comuni in R:
Come risolvere il problema in R: i nomi non corrispondono ai nomi precedenti
Come risolvere in R: più colonne che nomi di colonna
Come riparare in R: la sostituzione ha X righe, i dati hanno Y