gpt4 book ai didi

r - 从 r 中的日期中仅提取四分之一

转载 作者:行者123 更新时间:2023-12-02 03:49:13 24 4
gpt4 key购买 nike

我只想从日期中提取季度,例如,从日期“2003-02-08”获取整数 1。我一直在尝试沿着这条线做一些事情

library(mondate)
as.yearqtr(dat$DATE)

"2003 Q1"

as.character(as.yearqtr(dat$DATE))[1]

"2003 Q1"

这并没有给出我想要的结果。当然我可以这样写条件

library(data.table)
data$DATE = as.Date(data$DATE, format='%d%b%Y')
data$month=month(data$DATE)
setDT(data)[month==1, quarter:=1]
...

这可以工作,但一点也不优雅。有没有更漂亮的方法来做到这一点?

谢谢lmo和用户2100721!我真的希望我能接受所有的答案!

最佳答案

有一个基本的 R 函数,quarters,尽管它前面有“Q”,但它或多或少可以实现您想要的功能。所以

quarters(as.Date("2001-05-01"))
[1] "Q2"

如果重要的是去掉“Q”,您可以使用substr

substr(quarters(as.Date("2001-05-01")), 2, 2)
[1] "2"

其他与日期相关的基本 R 函数,例如 weekdaysmonths 可以在帮助页面 ?quarters 中找到。

关于r - 从 r 中的日期中仅提取四分之一,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39209763/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com