Converter o número de série do DateTime do Excel em R DateTime
Quando as tabelas do Excel são importadas como pontos xy no ArcGIS, continuo perdendo meu carimbo DateTime correto para cada ponto. Assim, eu formatei o número de série do DateTime, criei o .shp e li o .shp em R usando readOGR ().
Uma vez em R, posso converter para a data correta usandoas.Date()
e aorigin = "1899-12-30"
argumento, mas o tempo é deixado de fora. Embora eu tenha visto exemplos com uma única data, não vi exemplos trabalhados com o DateTime. Eu tenho usadoas.Date()
assim comoas.POSIXct()
mas esta tarefa aparentemente simples foi um pouco frustrante, assim o post…
Eu criei um conjunto de dados de amostra com 10 linhas do formato DateTime correto, bem como o número de série do Excel.
* Obrigado Richard e thelatemail por seu olho afiado em um obstáculo mais cedo. Eu corrigi os dados e re-postado aqui.
Aqui está meus dados de amostra
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)
O DateTime é GMT. A hora é um relógio de 24 horas (ou seja, não AM / PM). Eu estou trabalhando no Windows 7, tem o mais recente R e ArcGIS 10.
O código abaixo obtém a data correta, mas a hora ainda está faltando.
newDateTime <- as.Date(helpData[ , "ExcelNum"], origin = "1899-12-30")
head(newDateTime)
Desde já, obrigado!