Chỉ định thứ tự với `parse_date_time()`
Nếu bạn gặp một thứ tự rất lạ như dym_msh thì sao? Không có hàm đặt tên sẵn cho đúng thứ tự đó, và đây chính là lúc parse_date_time() phát huy tác dụng. parse_date_time() nhận thêm đối số orders, nơi bạn có thể chỉ định thứ tự của các thành phần trong ngày tháng.
Ví dụ, để parse "2010 September 20th" bạn có thể dùng parse_date_time("2010 September 20th", orders = "ymd"), tương đương với việc dùng hàm ymd() ở bài trước.
Một ưu điểm của parse_date_time() là bạn có thể dùng nhiều ký tự định dạng hơn. Ví dụ, bạn có thể chỉ định tên thứ trong tuần với A, I cho giờ 12 giờ, chỉ báo am/pm với p, và còn nhiều ký tự khác. Bạn có thể xem toàn bộ danh sách trên trang trợ giúp ?parse_date_time.
Một ưu điểm lớn khác là bạn có thể chỉ định một vector các thứ tự, cho phép parse các ngày tháng khi có thể dùng nhiều định dạng khác nhau.
Bạn sẽ thực hành trong bài tập này.
Bài tập này là một phần của khóa học
Làm việc với Ngày và Giờ trong R
Hướng dẫn bài tập
xlà một datetime khó hơn. Dựa vào các gợi ý trong phần hướng dẫn để parsex.two_orderscó hai thứ tự khác nhau, hãy parse cả hai bằng cách chỉ địnhorders = c("mdy", "dmy").- Parse
short_datesvớiorders = c("dOmY", "OmY", "Y"). Điều gì xảy ra với các ngày không có tháng hoặc ngày được chỉ định?
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# Specify an order string to parse x
x <- "Monday June 1st 2010 at 4pm"
___(x, orders = "___")
# Specify order to include both "mdy" and "dmy"
two_orders <- c("October 7, 2001", "October 13, 2002", "April 13, 2003",
"17 April 2005", "23 April 2017")
parse_date_time(two_orders, orders = ___)
# Specify order to include "dOmY", "OmY" and "Y"
short_dates <- c("11 December 1282", "May 1372", "1253")
parse_date_time(short_dates, orders = ___)