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