0
我有一個日期變量,包括月份和年份,其中月份是一個數字(例如,本月/年是'62017',但10月是'102017')。我需要最終的格式爲'6/1/2017'。我曾嘗試使用as.Date進行轉換,但它不會工作,因爲%m需要兩位數字。單位數月份格式
我的解決方法是在'102'(十月),'112'(十一月)或'122'(十二月)開始的日期中添加前導零。我也有一些我不得不忽視的NA。代碼:
index <- substr(ll$Maturity.Date,1,3) != 102 & substr(ll$Maturity.Date,1,3) != 112 & substr(ll$Maturity.Date,1,3) != 122 & !is.na(ll$Maturity.Date)
ll$Maturity.Date[index] <- paste0(0,ll$Maturity.Date[index])
從這裏,我可以根據需要轉換爲其他格式。但是,我想知道是否有更好的方法來實現硬編碼,因爲當使用90年代的歷史數據或下一世紀的數據時,這些代碼將會破壞,這兩者都是未來的可能性。
是如何編碼的單個數字天? 2017年6月1日,是'6117'嗎?或'60117'? – CPak
沒有編碼的日子。完整的值是myyyy,例如6月份爲'62017',11月份爲'112017',1月份爲'12017'。 –
如果'nchar(date.field)== 5'然後將零粘貼到前面,您可以測試字符數而不是子字符串。 –