我有一個字符格式的日期向量我需要轉換爲日期格式。有些月份是縮寫的,有些則不是,這是因爲這個列表是網絡報廢的結果。出於某種原因,下面未能轉換「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