Como corrigir: a string não está em um formato padrão inequívoco


Um erro comum que você pode encontrar em R é:

 Error in as.POSIXlt.character(x, tz, ...): 
  character string is not in a standard unambiguous format

Este erro normalmente ocorre quando você tenta converter um objeto em R para um formato de data, mas o objeto atualmente é um caractere ou um fator.

Para corrigir esse erro, você deve primeiro converter o objeto em digital.

Este tutorial explica como corrigir esse erro na prática.

Como reproduzir o erro

Suponha que temos o seguinte quadro de dados em R:

 #create data frame
df <- data. frame (date=c('1459397140', '1464397220', '1513467142'),
                 sales=c(140, 199, 243))

#view data frame
df

        dirty date
1 1459397140 140
2 1464397220 199
3 1513467142 243

Agora suponha que estamos tentando converter os valores da coluna de data para um formato de data:

 #attempt to convert values in date column to date
df$date <- as. POSIXct (df$date, origin=' 1970-01-01 ')

Error in as.POSIXlt.character(x, tz, ...): 
  character string is not in a standard unambiguous format

Recebemos um erro porque os valores da coluna de data estão atualmente em formato de caractere, que a função as.POSIXct() não consegue manipular.

Como corrigir o erro

Para corrigir esse erro, precisamos usar as.numeric() para primeiro converter os valores da coluna de data para um formato numérico, que é um formato que as.POSIXct pode manipular:

 #convert values in date column to date
df$date <- as. POSIXct (as. numeric (as. character (df$date)), origin=' 1970-01-01 ')

#view updated data frame
df

                 dirty date
1 2016-03-31 04:05:40 140
2 2016-05-28 01:00:20 199
3 2017-12-16 23:32:22 243

Desta vez, não recebemos um erro e conseguimos converter com êxito os valores da coluna de data para o formato de data porque primeiro convertemos os valores para o formato numérico.

Recursos adicionais

Os tutoriais a seguir explicam como corrigir outros erros comuns no R:

Como corrigir: o objeto (lista) não pode ser forçado a digitar “duplo”
Como corrigir em R: fórmula de modelo inválida em ExtractVars
Como reparar em R: a substituição tem comprimento zero

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *