Даты из Excel в R, зависимость от платформы
Я импортируюxls
файлы, использующиеgdata
, Я конвертирую столбцы даты, используяas.Date
конвертировать дату
В соответствии с руководством дляas.Date
, дата происхождения зависит от платформы, и поэтому я определяю, какое происхождение использовать соответственно
.origin <- ifelse(Sys.info()[['sysname']] == "Windows", "1899-12-30", "1904-01-01")
as.Date(myData$Date, origin=.origin)
Однако мне интересно, стоит ли мне рассматривать платформу, на которой находится файл?читать или платформа, где это былонаписано?
Что бы это ни стоило, я в настоящее время тестирую код на linux box без excel, и правильные даты создаются с помощьюorigin="1904-01-01"
Цитируя `? As.Date '
## date given as number of days since 1900-01-01 (a date in 1989)
as.Date(32768, origin = "1900-01-01")
## Excel is said to use 1900-01-01 as day 1 (Windows default) or
## 1904-01-01 as day 0 (Mac default), but this is complicated by Excel
## treating 1900 as a leap year.
## So for dates (post-1901) from Windows Excel
as.Date(35981, origin = "1899-12-30") # 1998-07-05
## and Mac Excel
as.Date(34519, origin = "1904-01-01") # 1998-07-05
## (these values come from http://support.microsoft.com/kb/214330)