2013-06-05 13 views
30

Hallo ich eine Reihe von Daten mit lubridateR Reihe von Daten mit lubridate

zu bekommen bin versuche Dies funktioniert nicht

seq(ymd('2012-04-07'),ymd('2013-03-22'),by=week(1)) 

der Basisbefehl

seq(as.Date('2012-04-7'),as.Date('2013-03-22'),'weeks') 

tut, aber ich würde gerne wissen, ob es eine elegante Möglichkeit gibt, dies mit lubridate zu tun.

EDIT

Bitte ignorieren: gelöst ich nur für die Nachwelt so verlassen werden. Gerne lassen wir das bei Bedarf löschen.

seq(ymd('2012-04-07'),ymd('2013-03-22'),by='weeks') 

funktioniert der Trick

+0

danke @shujaa mnel kam mit einer hilfreichen und detaillierten Erklärung. –

Antwort

32

ymd ist ein Wrapper Datum Strings und gibt ein POSIXct Objekt zu analysieren.

Sie einfach Standardterminologie in ?seq.POSIXt beschrieben verwenden müssen (nicht lubridate) Wochen definieren

seq(ymd('2012-04-07'),ymd('2013-03-22'), by = '1 week') 
seq(ymd('2012-04-07'),ymd('2013-03-22'), by = 'weeks') 

Willen arbeitet

wie

seq(ymd('2012-04-07'),ymd('2013-03-22'), by = '2 week') 

Sie konnten die lubridatePeriod Klasse coerce Objekt zu einem difftime, aber das scheint eher unnötig ry

seq(ymd('2012-04-07'),ymd('2013-03-22'), by = as.difftime(weeks(1))) 
+0

danke @Mnel, das funktioniert gut. Gute Erklärung. –

Verwandte Themen