Como corrigir: erro em strsplit(unitspec, ”“): argumento sem caractere
Um erro que você pode encontrar no R é:
Error in strsplit(df$my_column, split = "1"): non-character argument
Este erro geralmente ocorre quando você tenta usar a função strsplit() em R para dividir uma string, quando o objeto com o qual você está trabalhando não é uma string.
Este tutorial explica exatamente como corrigir esse erro.
Como reproduzir o erro
Suponha que temos o seguinte quadro de dados em 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
Agora suponha que tentamos usar a função strsplit() para dividir os valores na coluna “pontos” com base em onde o número 1 aparece:
#attempt to split values in points column
strsplit(df$points, split="1")
Error in strsplit(df$points, split = "1"): non-character argument
Recebemos um erro porque a variável “pontos” não é um caractere.
Podemos confirmar isso verificando a classe desta variável:
#display class of "points" variable
class(df$points)
[1] "digital"
Podemos ver que esta variável possui uma classe numérica.
Como corrigir o erro
A maneira de corrigir esse erro é usar as.character() para converter a variável “pontos” em um caractere antes de tentar usar a função 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"
Desta vez, dividimos com sucesso cada valor na coluna “pontos” porque primeiro usamos a função as.character() para converter os “pontos” em um caractere.
Recursos adicionais
Os tutoriais a seguir explicam como resolver outros erros comuns em R:
Como corrigir em R: os nomes não correspondem aos nomes anteriores
Como corrigir em R: mais colunas do que nomes de colunas
Como reparar em R: a substituição tem X linhas, os dados têm Y