Oplossing: de string heeft geen eenduidig standaardformaat
Een veel voorkomende fout die u in R kunt tegenkomen is:
Error in as.POSIXlt.character(x, tz, ...):
character string is not in a standard unambiguous format
Deze fout treedt meestal op wanneer u probeert een object in R naar een datumnotatie te converteren, maar het object momenteel een teken of een factor is.
Om deze fout te verhelpen, moet u het object eerst naar digitaal converteren.
In deze tutorial wordt uitgelegd hoe u deze fout in de praktijk kunt oplossen.
Hoe de fout te reproduceren
Stel dat we het volgende dataframe in R hebben:
#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
Stel nu dat we proberen de datumkolomwaarden naar een datumformaat te converteren:
#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
We ontvangen een foutmelding omdat de datumkolomwaarden momenteel in tekenformaat zijn, wat de functie as.POSIXct() niet aankan.
Hoe u de fout kunt oplossen
Om deze fout op te lossen, moeten we as.numeric() gebruiken om eerst de datumkolomwaarden naar een numeriek formaat te converteren, wat een formaat is dat as.POSIXct aankan:
#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
Deze keer krijgen we geen foutmelding en kunnen we de datumkolomwaarden met succes naar het datumformaat converteren, omdat we de waarden eerst naar het getalformaat hebben omgezet.
Aanvullende bronnen
In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende fouten in R kunt oplossen:
Oplossing: Object (Lijst) kan niet worden geforceerd om ‚dubbel‘ te typen
Oplossing in R: ongeldige sjabloonformule in ExtractVars
Hoe te repareren in R: vervanging heeft een lengte van nul