Como obter o número da semana a partir de datas em r (com exemplos)


Você pode usar os seguintes métodos para obter o número da semana a partir de uma data em R:

Método 1: Obtenha o número da semana usando Base R

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

Método 2: Obtenha o número da semana usando o pacote Lubridate

 library (lubridate)

isoweek(ymd(df$ date_column ))

Os exemplos a seguir mostram como usar cada método com o seguinte quadro de dados em 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

Exemplo 1: Obtenha o número da semana usando Base R

O código a seguir mostra como usar a função strftime() para obter o número da semana da coluna de data no quadro de dados:

 #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

A nova coluna chamada week_num exibe o número da semana para o valor na coluna de data .

Nota : De acordo com a documentação, é assim que %V% calcula os números das datas: “o número da semana do ano (segunda-feira como o primeiro dia da semana) como um decimal [01,53].” Se a semana que contém 1º de janeiro tiver quatro ou mais dias no ano novo, será considerada a semana 1. Caso contrário, será a última semana do ano anterior e a semana seguinte será a semana 1.

Exemplo 2: Obtenha o número da semana usando o pacote Lubridate

O código a seguir mostra como usar a função isoweek() do pacote lubridate para obter o número da semana na coluna de data no quadro de dados:

 #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

A nova coluna chamada week_num exibe o número da semana para o valor na coluna de data .

Observe que os números da semana correspondem aos calculados usando a função strftime() no exemplo anterior.

Recursos adicionais

Os tutoriais a seguir explicam como realizar outras tarefas comuns em R:

Como agrupar dados por mês emR
Como extrair ano da data em R
Como extrair mês da data em R
Como classificar um quadro de dados por data em R

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *