亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

將具有混合日期格式的變量轉換為一種格式

將具有混合日期格式的變量轉換為一種格式

鳳凰求蠱 2019-08-23 09:37:02
將具有混合日期格式的變量轉換為一種格式我的數據幀的示例:                date1   25 February 19872     20 August 19743     9 October 19844     18 August 19925  19 September 19956          16-Oct-637          30-Sep-658        22 Jan 20089         13-11-196110    18 August 198711         15-Sep-7012    5 October 199413   5 December 198414          03/23/8715    30 August 198816        26-10-199317    22 August 198918         13-Sep-97我有一個大型數據框,其日期變量有多種日期格式。變量中的大多數格式如上所示 - 還有一些非常罕見的其他格式。有多種格式的原因是數據是從各種網站中提取的,每個網站都使用不同的格式。我嘗試過使用簡單的轉換,例如strftime(mydf$date,"%d/%m/%Y")但如果有多種格式,這些轉換將無效。我不想求助于多個gsub類型的編輯。我想知道我是否錯過了一個更簡單的解決方案?代碼例如:    structure(list(date = structure(c(12L, 8L, 18L, 6L, 7L, 4L, 14L, 10L, 1L, 5L, 3L, 17L, 16L, 11L, 15L, 13L, 9L, 2L), .Label = c("13-11-1961", "13-Sep-97", "15-Sep-70", "16-Oct-63", "18 August 1987", "18 August 1992", "19 September 1995", "20 August 1974", "22 August 1989", "22 Jan 2008", "03/23/87", "25 February 1987", "26-10-1993", "30-Sep-65", "30 August 1988", "5 December 1984", "5 October 1994", "9 October 1984"), class = "factor")), .Names = "date", row.names = c(NA, -18L), class = "data.frame")
查看完整描述

3 回答

?
炎炎設計

TA貢獻1808條經驗 獲得超4個贊

您可以嘗試parse_date_time在包裝lubridate其“允許用戶指定幾個格式,訂單處理異構日期時間的字符表示”使用orders的說法。就像是...

library(lubridate)parse_date_time(x = df$date,
                orders = c("d m y", "d B Y", "m/d/y"),
                locale = "eng")

...應該能夠處理大多數格式。請注意bB格式是locale敏感的。

可以使用的其他日期時間格式orders列在“ 詳細信息”部分中?strptime。


查看完整回答
反對 回復 2019-08-23
  • 3 回答
  • 0 關注
  • 690 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號