r - 将季度解析为日期,使用“qr()”到季度的最后一天
问题描述
我的任务与这个问题有点相似,但我正在使用lubridate。我有一些字符串quarters
-我需要将其翻译成日期,但是要像这样获得季度的第一天,
# library(lubridate)
quaters <- c("2018Q4", "2019Q1", "2019Q2", "2019Q3", "2019Q4", "2020Q1")
yq(quaters)
# [1] "2018-10-01" "2019-01-01" "2019-04-01" "2019-07-01" "2019-10-01"
# [6] "2020-01-01"
我想要本季度的最后一天。像这样,
yq(quaters, last) "!! NOT WOKRING CODE
# [1] "2018-12-31" "2019-03-31" "2019-06-30" "2019-09-30" "2019-12-31"
# [6] "2020-03-31"
解决方案
您可以在每个日期加上 3 个月并减去 1 天以获得每个季度的最后一天。
library(lubridate)
quaters <- c("2018Q4", "2019Q1", "2019Q2", "2019Q3", "2019Q4", "2020Q1")
yq(quaters) %m+% months(3) - 1
#[1] "2018-12-31" "2019-03-31" "2019-06-30" "2019-09-30" "2019-12-31" "2020-03-31"
另一个类似的选项是使用ceiling_date
with unit
as"quarter"
来获取下一个季度的日期,然后从中减去 1 天。
ceiling_date(yq(quaters), 'quarter') - 1
推荐阅读
- google-cloud-platform - 手动安装 GCP VM 模块中的所有内容
- javascript - 无法从 req.session 中检索值
- rest - 我们的微服务设计错了吗?
- javascript - 提交HTML表单,两个动作一键
- python - 想要使用 python 或 pyspark 计算 2 个不同行的值的差异
- ajax - 为什么 Ajax 在 laravel 上得到 500 内部错误
- batch-file - 如何循环浏览 Windows 服务并将它们与文本文件进行批量比较
- java - 有没有办法让我在java中的单一方法中加密和解密给定密钥的消息?
- javascript - 如何链接 JavaScript 文件以使用其他文件中的数组
- swiftui - SwiftUI 如何检测视图何时具有焦点?