Hoe u het weeknummer uit datums in r kunt halen (met voorbeelden)


U kunt de volgende methoden gebruiken om het weeknummer uit een datum in R te halen:

Methode 1: Haal het weeknummer op met Base R

 strftime(df$date_column, format = ' %V ')

Methode 2: Haal het weeknummer op met behulp van het Lubridate-pakket

 library (lubridate)

isoweek(ymd(df$ date_column ))

De volgende voorbeelden laten zien hoe u elke methode kunt gebruiken met het volgende dataframe in R:

 #create data frame
df <- data. frame (date=as. Date (c('1/8/2022', '1/9/2022', '2/10/2022', '2/15/2022',
                                '3/5/2022', '3/22/2022', '3/27/2022'), '%m/%d/%Y'),
                 sales=c(8, 14, 22, 23, 16, 17, 23))

#view data frame
df

        dirty date
1 2022-01-08 8
2 2022-01-09 14
3 2022-02-10 22
4 2022-02-15 23
5 2022-03-05 16
6 2022-03-22 17
7 2022-03-27 23

Voorbeeld 1: Haal het weeknummer op met Base R

De volgende code laat zien hoe u de functie strftime() gebruikt om het weeknummer uit de datumkolom in het dataframe te halen:

 #add column to show week number
df$week_num <- strftime(df$date, format = " %V ")

#view updated data frame
df

        date sales week_num
1 2022-01-08 8 01
2 2022-01-09 14 01
3 2022-02-10 22 06
4 2022-02-15 23 07
5 2022-03-05 16 09
6 2022-03-22 17 12
7 2022-03-27 23 12

De nieuwe kolom met de naam week_num geeft het weeknummer weer voor de waarde in de datumkolom .

Opmerking : volgens de documentatie berekent %V% datumnummers als volgt: „het weeknummer van het jaar (maandag als de eerste dag van de week) als decimaal [01,53].“ Als de week die 1 januari bevat vier of meer dagen in het nieuwe jaar heeft, wordt deze als week 1 beschouwd. Anders is het de laatste week van het voorgaande jaar en is de volgende week week 1.‘

Voorbeeld 2: Haal het weeknummer op met behulp van het Lubridate-pakket

De volgende code laat zien hoe u de functie isoweek() van het lubridate- pakket gebruikt om het weeknummer uit de datumkolom in het gegevensframe te verkrijgen:

 #add column to show week number
df$week_num <- isoweek(ymd(df$date))

#view updated data frame
df

        date sales week_num
1 2022-01-08 8 1
2 2022-01-09 14 1
3 2022-02-10 22 6
4 2022-02-15 23 7
5 2022-03-05 16 9
6 2022-03-22 17 12
7 2022-03-27 23 12

De nieuwe kolom met de naam week_num geeft het weeknummer weer voor de waarde in de datumkolom .

Houd er rekening mee dat de weeknummers overeenkomen met de weeknummers die zijn berekend met de functie strftime() in het vorige voorbeeld.

Aanvullende bronnen

In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende taken in R kunt uitvoeren:

Hoe gegevens per maand te groeperen inR
Hoe jaar uit datum te extraheren in R
Hoe maand uit datum te extraheren in R
Hoe een dataframe op datum te sorteren in R

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert