我正在尝试将一个数据框列转换为日期格式。我正在使用zoo包,但是无法使其工作。所需的输出是yyyy-mm-dd,因此每年4个日期。
这是我目前所尝试的:
library(dplyr)
library(zoo)
as.yearqtr(1930, Q2)
as.yearqtr(1930, Q2, format = "%Y %Q%q")
为了澄清。使用以下代码
as.yearqtr(1930, Q2, format = "%Y %Q%q") %>% as.Date()
输出为
[1] "1930-01-01"
当然,这是第一季度,但它应该给出"1930 - 03 - 01",即第二季度。
2条答案
按热度按时间cygmwpex1#
因为.yearqtr只接受一个字符串或向量,而不是两个。请务必先阅读帮助文件,以了解参数是什么。下面我们将演示如何生成yearqtr对象。yearqtr对象内部由year + fraction表示,其中4个季度的fraction分别为0、1/4、1/2、3/4(例如,加1表示下一年的同一季度),显示时如下所示。
或
或
要获取Date类对象,请使用上面的as.Date(或者直接使用上面的as. Date,因为它直接表示年和季度)。
14ifxucb2#
这就是你想要的吗?
创建于2023年1月20日,使用reprex v2.0.2
如果你想要一个更简单的解决方案,你可以使用
lubridate
中的parse_date_time
函数:创建于2023年1月20日,使用reprex v2.0.2