季度之间的时差

问题描述

我目前正在使用R中的日期,并且需要计算两个季度之间的时间差。我已经使用zoo库将日期转换为季度格式,但是我正在努力计算日期间的差。

以下是可重现性的示例代码

sample_dataframe <- data.frame(First_Purchase_date = c(as.Date("2020-01-15"),as.Date("2019-02-10"),as.Date("2018-12-24")),Recent_Purchase_date = c(as.Date("2020-06-20"),as.Date("2020-10-10"),as.Date("2019-05-26")))

library(zoo)
#using zoo library to transform my dates into quarters
sample_dataframe$First_purchase_quarter <- as.yearqtr((sample_dataframe$First_Purchase_date),"%Y-%m-%d")
sample_dataframe$Recent_Purchase_quarter <- as.yearqtr((sample_dataframe$Recent_Purchase_date),"%Y-%m-%d")

我想要实现的是从First_purchase_quarter 减去 Latest_Purchase_quarter,以获得季度的时差。

因此,如果最近购买季度为 2019第二季度,而第一购买季度为 2018 Q4 ,则结果应为 2

如上所述,获得四分之一时差的最简单方法是什么?

解决方法

#using zoo library to transform my dates into quarters
sample_dataframe$First_purchase_quarter <- as.yearqtr((sample_dataframe$First_Purchase_date),"%Y-%m-%d")
sample_dataframe$Recent_Purchase_quarter <- as.yearqtr((sample_dataframe$Recent_Purchase_date),"%Y-%m-%d")

sample_dataframe$diff <- (sample_dataframe[,4] - sample_dataframe[,3]) * 4
head(sample_dataframe$diff)
[1] 1 7 2