Lubridate week (), um fortlaufende Wochennummern für mehrjährige Zeiträume zu finden

9

In R sagen wir, dass ich einen Vektor von einigen Lubridate-Daten habe:

%Vor%

Als nächstes nehme ich an, ich möchte sehen, welche Wochentage in diesen Tagen fallen:

%Vor%

Lubridate ist fantastisch!

Aber warten Sie ... Ich habe eine Zeitreihe mit 10.000 Zeilen Daten ... und die Daten erstrecken sich über 3 Jahre.

Ich habe mich bemüht, einen Weg zu finden, dies zu ermöglichen:

%Vor%

Die Frage: Gibt es eine prägnante Möglichkeit, eine Liste von Wochennummern über mehrere Jahre innerhalb von Lubridate herauszulocken? Direkt möchte ich, dass die erste Woche des zweiten Jahres als 54. Woche vertreten ist. Und die erste Woche im dritten Jahr, die als die 107. Woche, ad nauuseum dargestellt wird.

Bis jetzt habe ich eine Reihe von Hackney-Schemas versucht, aber ich kann nicht etwas erschaffen, das nicht zusammen mit Tesafilm befestigt ist. Jeder Rat würde sehr geschätzt werden. Vielen Dank im Voraus.

    
Matt O'Brien 05.11.2013, 01:21
quelle

3 Antworten

12

Um das Intervall von einem bestimmten Datum zu einem anderen Datum zu bekommen, können Sie einfach subtrahieren ...

Wenn tda Ihr Vektor von Daten ist, dann

%Vor%

ist der Unterschied in Sekunden zwischen ihnen.

Um die Einheiten in Wochen zu bekommen:

%Vor%

Um es von einem bestimmten Datum zu tun:

%Vor%

Dies gibt die Anzahl der Tage von 1996 bis zu jedem Wert an.

Von dort können Sie durch Tage pro Woche oder Sekunden pro Woche teilen.

%Vor%

Um nur den ganzzahligen Teil zu erhalten, und ab Januar 2012:

%Vor%

Testdaten:

%Vor%

Ausgabe:

%Vor%     
beroe 05.11.2013, 01:39
quelle
2

Sie können so etwas tun:

%Vor%     
agstudy 05.11.2013 01:46
quelle
2

Da eweeks() jetzt veraltet ist, dachte ich, ich würde @ berees Antwort hinzufügen.

Wenn tda Ihr Datumsvektor ist, können Sie die Wochennummern mit:

abrufen %Vor%

wobei %/% eine ganzzahlige Division verursacht. ( 5 / 3 = 1.667 ; 5 %/% 3 = 1 )

    
s-heins 18.01.2017 11:54
quelle

Tags und Links