Daten von Excel bis R, plattformabhängig
Ich importierexls
Dateien mitgdata
. Ich konvertiere Datumsspalten mitas.Date
um das Datum umzurechnen
Wie im Handbuch füras.Date
Ist der Datumsursprung plattformabhängig, so bestimme ich, welcher Ursprung entsprechend verwendet werden soll
.origin <- ifelse(Sys.info()[['sysname']] == "Windows", "1899-12-30", "1904-01-01")
as.Date(myData$Date, origin=.origin)
Ich frage mich jedoch, ob ich die Plattform in Betracht ziehen soll, auf der sich die Datei befindetlesen oder die Plattform, wo es wargeschrieben?
Für das, was es wert ist, teste ich derzeit den Code auf einer Linux-Box ohne Excel, und die korrekten Daten werden unter Verwendung von erzeugtorigin="1904-01-01"
Zitiert "? 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)