Khi bảng excel được nhập dưới dạng các điểm xy trong ArcGIS, tôi tiếp tục mất dấu DateTime chính xác cho mỗi điểm. Vì vậy, tôi đã định dạng số sê-ri DateTime, đã tạo tệp .shp và đọc tệp .shp vào R bằng cách sử dụng readOGR().Chuyển đổi số sê-ri DateTime excel thành R DateTime
Khi ở trong R tôi có thể chuyển đổi sang ngày chính xác bằng cách sử dụng as.Date()
và đối số origin = "1899-12-30"
nhưng thời gian bị bỏ qua. Trong khi tôi đã nhìn thấy các ví dụ với một ngày duy nhất, tôi đã không nhìn thấy ví dụ làm việc với DateTime. Tôi đã sử dụng as.Date()
cũng như as.POSIXct()
nhưng nhiệm vụ dường như đơn giản này là một chút bực bội, do đó, bài đăng ...
Tôi đã tạo một tập dữ liệu mẫu với 10 hàng định dạng DateTime chính xác cũng như số seri excel .
* Cảm ơn Richard và thelatemail vì con mắt quan tâm của họ về một trở ngại trước đó. Tôi đã sửa dữ liệu và đăng lại ở đây.
Đây là dữ liệu mẫu của tôi
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)
Các DateTime là GMT. Thời gian là một đồng hồ 24 giờ (tức là không phải là AM/PM). Tôi đang làm việc trên Windows 7, có R mới nhất và ArcGIS 10.
Mã bên dưới có ngày chính xác nhưng thời gian vẫn bị thiếu.
newDateTime <- as.Date(helpData[ , "ExcelNum"], origin = "1899-12-30")
head(newDateTime)
Cảm ơn bạn trước!
Bạn có thể có một cái nhìn tại chủ đề tương tự [ở đây] (http://stackoverflow.com/questions/4868693/convert-fraction -of-day-to-posix-times-in-r) và [ở đây] (http://stackoverflow.com/questions/12161984/how-to-elegantly-convert-datetime-from-decimal-to-dmy- hms /). – Henrik