我的数据集中有一个整数列,其中有四位数字的年份值,例如:
c(2001, 2002, 2002, 2002, 2003, 2005)
我尝试将四位数年份转换为班级Date
using as.Date
:
year <- as.Date(as.character(data_file$evtYear), format = "%Y")
但输出是:
"2001-05-15" "2002-05-15" "2002-05-15" "2002-05-15" "2003-05-15" "2005-05-15"
这给出了错误的输出。它在一个日期中给出了两个年份值(2001 年和 15 年)。
我只想将我的四位数年份部分从原始数据转换为“年份”作为类Date
。预期输出很简单:
2001 2002 2002 2002 2003 2005
但他们的班级应该是Date
type.
如何在 R 中实现这一点?
正如OP已经认识到的那样,仅一年并不能构成有效日期,因为没有指定月份和日期。
然而,一些日期和日期时间转换函数,例如,ymd()
, parse_date_time()
, 在里面lubridate
包识别参数truncated
允许解析不完整的日期:
yrs <- c(2001, 2002, 2002, 2002, 2003, 2005)
lubridate::ymd(yrs, truncated = 2L)
[1] "2001-01-01" "2002-01-01" "2002-01-01" "2002-01-01" "2003-01-01" "2005-01-01"
这些年份已于 1 月 1 日完成,以形成有效日期。结果是类Date
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)