Como corrigir erros de leitura de dados em R
Provavelmente, os erros mais comuns em R são feitas durante a leitura de dados a partir de arquivos de texto usando read.table () ou read.csv (). Muitos erros resultar em erros R jogando, mas às vezes você só percebe algo deu errado quando você olha para a estrutura de seus dados. Neste último caso, você encontrará muitas vezes que algumas ou todas as variáveis são convertidos em fatores quando eles realmente não deveria ser.
Quando R dá erros ou a estrutura dos seus dados não é o que você acha que deveria ser, verifique o seguinte:
Você esqueceu de especificar o argumento header = TRUE? Se assim for, R verá os nomes das colunas como valores e, como resultado, converter todas as variáveis a um fator como sempre faz com dados de caracteres em um arquivo de texto.
Será que você tem espaços em nomes de coluna ou dados? o read.table () função pode interpretar espaços, por exemplo, nomes de coluna ou dados de cadeia como um separador. Você, então, obter erros dizendo a você "Linha x não tem elementos y '.
Será que você tem um separador decimal diferente? Em alguns países, os decimais são separados por uma vírgula. Você tem que dizer especificamente R é esse o caso usando o argumento dezembro = "," no read.table () função.
Você esqueceu de especificar stringsAsFactors = FALSE? Por padrão, R muda dados de caracteres para fatores, então você sempre tem que adicionar este argumento, se você quiser que seus dados permaneçam variáveis de caracteres.
Será que você tem outra maneira de especificar os valores em falta? R lê 'N / D' em um arquivo de texto como um valor em falta, mas o arquivo pode usar um código diferente (por exemplo, 'ausência de'). R vai ver que como texto e novamente converter essa variável para um fator. -Lo a resolver isso especificando o argumento na.strings no read.table () função.
Se você sempre verificar a estrutura de seus dados imediatamente depois de lê-lo, você pode detectar erros muito mais cedo e evitar horas de frustração. Sua melhor aposta é usar str () para obter informações sobre os tipos e cabeça() para ver se os valores são os esperados.