Calcular período em dias entre duas variáveis de datas

Oi gente, tudo bem?

Se eu tenho duas colunas com datas no formato DD/MM/YYYY (coluna data_inicio e coluna data_fim), qual seria o jeito mais simples de criar uma terceira coluna intervalo que calcula automaticamente o número de dias que se passaram entre a data_inicio e a data_fim?

1 curtida

Oi, tudo bem?

Você pode usar o mutate do dplyr colocando data_fim-data_inicio… Ele vai retornar uma frase, Time difference of xx days…
Não sei se seria a melhor maneira de se fazer, mas eu faria assim:

library(tidyverse)

data_inicio<-c("01/02/2019","01/01/2020")
data_fim<-c("31/12/2019","08/09/2020")

datas<-tibble(data_inicio=data_inicio,data_fim=data_fim)

datas$data_inicio<-lubridate::dmy(datas$data_inicio) # só pra garantir que o R tá entendendo como data... acho que o as.Date faria o mesmo
datas$data_fim<-lubridate::dmy(datas$data_fim)

datas<-datas %>% mutate(intervalo=data_fim-data_inicio)
> glimpse(datas)
Observations: 2
Variables: 3
$ data_inicio <date> 2019-02-01, 2020-01-01
$ data_fim    <date> 2019-12-31, 2020-09-08
$ intervalo   <drtn> 333 days, 251 days

Mas aí pra pegar apenas o número dos dias, em formato numérico, você pode usar o
datas$intervalo<- as.numeric(datas$intervalo)

2 curtidas