2015-04-14 11 views
6

Próbuję znaleźć sposób automatycznego wypełniania dat rozpoczęcia/zakończenia tygodnia dla dowolnego danego roku. Na przykład. 4/12/2015 - 18.04.2015, 19.04.2015 - 25.04.2015, 24.04.2015 - 5/2/2015. Sądzę, że mógłbym je dokładnie obliczyć, ale nie jest to zbyt eleganckie. Z góry dziękuję!Automatyczne wypełnianie dni tygodnia

+0

Czy możesz być trochę bardziej konkretny? W jaki dzień tygodnia zaczynają się tygodnie? –

+0

Wybierzmy niedziele jako początek. –

Odpowiedz

6

Znajdź dni pierwszego i ostatniego dnia pierwszego tygodnia w roku: szczegółowe informacje można znaleźć w specyfikacjach %W, %w, %V pod numerem ?strptime. Należy pamiętać, że strptime konwencje są bardzo wybredne (np trzeba dokładnie odpowiednią liczbę cyfr), ewentualnie systemu operacyjnego zależne i ewentualnie locale-zależna ...

firstday <- as.Date(strptime("2010-01-0",format="%Y-%W-%w")) ## Sunday 
lastday <- as.Date(strptime("2010-01-6",format="%Y-%W-%w")) ## Saturday 

teraz ustawić sekwencje datę, od tych, dni:

seq.Date(firstday,as.Date("2010-12-31"),by="1 week") 
seq.Date(lastday,as.Date("2010-12-31"),by="1 week") 

Możesz użyć np. paste0(year,"-01-0") jeśli chcesz zrobić to bardziej ogólnie (bez twardego kodowania roku).

+0

Dziękujemy! Zadziałało! –

Powiązane problemy