Come risolvere il problema: la stringa non è in un formato standard univoco


Un errore comune che potresti riscontrare in R è:

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

Questo errore si verifica in genere quando si tenta di convertire un oggetto in R in un formato data, ma l’oggetto è attualmente un carattere o un fattore.

Per correggere questo errore, devi prima convertire l’oggetto in digitale.

Questo tutorial spiega come correggere questo errore nella pratica.

Come riprodurre l’errore

Supponiamo di avere il seguente frame di dati in 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

Supponiamo ora di provare a convertire i valori della colonna della data in un formato di 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

Riceviamo un errore perché i valori della colonna della data sono attualmente in formato carattere, che la funzione as.POSIXct() non è in grado di gestire.

Come correggere l’errore

Per correggere questo errore, dobbiamo utilizzare as.numeric() per convertire prima i valori della colonna della data in un formato numerico, che è un formato che as.POSIXct può gestire:

 #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

Questa volta non riceviamo un errore e siamo in grado di convertire correttamente i valori della colonna della data nel formato data perché abbiamo prima convertito i valori nel formato numerico.

Risorse addizionali

I seguenti tutorial spiegano come correggere altri errori comuni in R:

Come risolvere il problema: non è possibile forzare l’oggetto (elenco) a digitare “doppio”
Come risolvere il problema in R: formula modello non valida in ExtractVars
Come riparare in R: la sostituzione ha lunghezza zero

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *