我有一个字符格式的日期向量我需要转换为日期格式。有些月份是缩写的,有些则不是,这是因为这个列表是网络报废的结果。出于某种原因,下面未能转换“9月7日”(适用于其余部分):从字符到日期格式的日期转换列表
employ <- c("Jan 5", "Feb 2", "March 9", "April 6", "May 4", "June 1","July 6", "Aug 3", "Sept 7", "Oct 5", "Nov 2", "Dec 7","Jan 4")
employ2 <- as.Date(employ, format = "%B %d")
#This is what the output of employ2 looks like:
[1] 2016-01-05 2016-02-02 2016-03-09 2016-04-06 2016-05-04 2016-06-01
[7] 2016-07-06 2016-08-03 <NA> 2016-10-05 2016-11-02 2016-12-07
[13] 2016-01-04
我想这个问题可能是9月份的“T”,所以我把它用gsub
。在这种情况下,代码无法转换“10月5日”。
employ <- c("Jan 5", "Feb 2", "March 9", "April 6", "May 4", "June 1","July 6", "Aug 3", "Sept 7", "Oct 5", "Nov 2", "Dec 7","Jan 4")
employ <- gsub("t", "", employ)
employ2 <- as.Date(employ, format = "%B %d")
有人可以帮助成功转换整个列表?非常感谢。
编辑:请不要回复,显然问题确实是“t”。刚刚发现它。需要找出一种不同的方法来从9月删除“t”
'as.Date(聘用,C(REP ('%B%d',8),'%Bt%d',rep('%B%d',4)))' – alistaire
或更好,'lubridate :: parse_date_time(employ,c('%B% d','%Bt%d'),exact = TRUE) – alistaire