Gdy tabele Excela są importowane jako punkty XY w ArcGIS, nadal tracę poprawną pieczęć DateTime dla każdego punktu. Dlatego sformatowałem numer seryjny DateTime, utworzyłem .shp i odczytuję .shp na R używając readOGR().Konwersja Excela Numer seryjny DateTime na R DateTime
Raz w R mogę przekonwertować na prawidłową datę, używając as.Date()
i argumentu origin = "1899-12-30"
, ale czas jest pominięty. Chociaż widziałem przykłady z jedyną datą, nie widziałem pracowanych przykładów z DateTime. Używałem as.Date()
, a także as.POSIXct()
, ale to pozornie proste zadanie było trochę frustrujące, a więc post ...
Stworzyłem przykładowy zestaw danych z 10 wierszami prawidłowego formatu DateTime, a także numer seryjny programu Excel .
* Dziękuję Richard i thelatail za ich bystre spojrzenie na wcześniejszą przeszkodę. Poprawiłem dane i przeredagowałem je tutaj.
Oto moje dane przykładowe
helpData <- structure(list(ID = 1:10, DateTime = structure(c(9L, 1L, 2L,
3L, 4L, 5L, 6L, 7L, 8L, 8L), .Label = c("3/11/2011 7:55", "3/13/2011 7:55",
"3/14/2011 0:00", "3/14/2011 10:04", "3/14/2011 7:55", "3/15/2011 19:55",
"3/17/2011 7:55", "3/18/2011 4:04", "3/4/2011 6:00"), class = "factor"),
ExcelNum = c(40606.25, 40613.32986, 40615.32986, 40616, 40616.41944,
40616.32986, 40617.82986, 40619.32986, 40620.16944, 40620.16944
)), .Names = c("ID", "DateTime", "ExcelNum"), class = "data.frame", row.names = c(NA,
-10L))
head(helpData)
DateTime to GMT. Czas jest czasem 24 godzin (tj. Nie jest AM/PM). Pracuję na systemie Windows 7, najnowszym R i ArcGIS 10.
Poniższy kod pobiera poprawną datę, ale czasu nadal brakuje.
newDateTime <- as.Date(helpData[ , "ExcelNum"], origin = "1899-12-30")
head(newDateTime)
Z góry dziękuję!
Można spojrzeć na podobne tematy [tutaj] (http://stackoverflow.com/questions/4868693/convert-fraction -of-day-to-posix-times-in-r) i [tutaj] (http://stackoverflow.com/questions/12161984/how-to-elegantly-convert-datetime- from-decimal-to-dmy- hms /). – Henrik