Comment réparer : la chaîne de caractères n’est pas dans un format standard sans ambiguïté
Une erreur courante que vous pouvez rencontrer dans R est :
Error in as.POSIXlt.character(x, tz, ...) :
character string is not in a standard unambiguous format
Cette erreur se produit généralement lorsque vous tentez de convertir un objet dans R en un format de date, mais que l’objet est actuellement soit un caractère, soit un facteur.
Pour corriger cette erreur, vous devez d’abord convertir l’objet en numérique.
Ce tutoriel explique comment corriger cette erreur en pratique.
Comment reproduire l’erreur
Supposons que nous ayons le bloc de données suivant dans R :
#create data frame
df <- data.frame(date=c('1459397140', '1464397220', '1513467142'),
sales=c(140, 199, 243))
#view data frame
df
date sales
1 1459397140 140
2 1464397220 199
3 1513467142 243
Supposons maintenant que nous essayions de convertir les valeurs de la colonne de date en un format de date :
#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
Nous recevons une erreur car les valeurs de la colonne date sont actuellement au format caractère, que la fonction as.POSIXct() ne sait pas gérer.
Comment réparer l’erreur
Pour corriger cette erreur, nous devons utiliser as.numeric() pour d’abord convertir les valeurs de la colonne de date en un format numérique, qui est un format que as.POSIXct peut gérer :
#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
date sales
1 2016-03-31 04:05:40 140
2 2016-05-28 01:00:20 199
3 2017-12-16 23:32:22 243
Cette fois, nous ne recevons pas d’erreur et nous parvenons à convertir avec succès les valeurs de la colonne de date en format de date car nous avons d’abord converti les valeurs en format numérique.
Ressources additionnelles
Les didacticiels suivants expliquent comment corriger d’autres erreurs courantes dans R :
Comment réparer : l’objet (liste) ne peut pas être contraint de taper « double »
Comment réparer dans R : formule de modèle invalide dans ExtractVars
Comment réparer dans R : le remplacement a une longueur nulle