2017-10-18 2 views
0

Ich versuche, eine Zeichenfolge in ein POSIXct Objekt zu konvertieren, aber wenn ich das tunas.POSXct NA

x <- as.POSIXct('15/10/17', tz = 'America/Sao_Paulo', format = '%d/%m/%y') 

der Ausgang NA. Ich denke, dass es passiert, weil es am Tag 15/10/17 in São Paulo Sommerzeit wurde, also gibt es keine Mitternacht. Eine Lösung ist x zu zwingen, einen anderen Wert in diesem Tag zu sein wie

x <- structure(1508036400, class = c("POSIXct", "POSIXt"), tzone = "America/Sao_Paulo") 

Aber ich war wodering wenn es eine elegantere Lösung.

Meine Sitzung Info:

> sessionInfo() 
R version 3.4.2 (2017-09-28) 
Platform: x86_64-w64-mingw32/x64 (64-bit) 
Running under: Windows >= 8 x64 (build 9200) 

Matrix products: default 

locale: 
[1] LC_COLLATE=Portuguese_Brazil.1252 LC_CTYPE=Portuguese_Brazil.1252  LC_MONETARY=Portuguese_Brazil.1252 
[4] LC_NUMERIC=C      LC_TIME=Portuguese_Brazil.1252  

attached base packages: 
[1] stats  graphics grDevices utils  datasets methods base  

loaded via a namespace (and not attached): 
[1] compiler_3.4.2 tools_3.4.2 yaml_2.1.14 fortunes_1.5-4 

Vielen Dank im Voraus!

Antwort

1

Es ist nicht klar, ob dies ein Fehler in as.POSIXct() ist oder ob es Sie vor einem obskuren Datenproblem schützt.

Wenn Sie nur Datumsinformationen haben, empfiehlt es sich in jedem Fall, Ihre Daten als Date und nicht als POSIXct zu speichern.

Versuchen Sie as.Date('15/10/17', format = '%d/%m/%y').