Tôi có một tệp có sinh nhật ở định dạng %d%b%y
. Một số ví dụ.Thêm thế kỷ chính xác vào các ngày có năm được cung cấp dưới dạng "Năm không có thế kỷ",% y
# "01DEC71" "01AUG54" "01APR81" "01MAY81" "01SEP83" "01FEB59"
Tôi cố gắng để định dạng lại ngày như
o108$fmtbirth <- format(as.Date(o108$birth, "%d%b%y"), "%Y/%m/%d")
và đây là kết quả
# "1971/12/01" "2054/08/01" "1981/04/01" "1981/05/01" "1983/09/01" "2059/02/01"
Đây là ngày sinh nhật và tôi thấy 2054. Từ page này tôi thấy rằng giá trị năm giữa 00 và 68 được mã hóa là 20 cho thế kỷ. Có cách nào để chuyển đổi điều này hay không, trong trường hợp của tôi, tôi chỉ muốn mã hóa từ 00 đến 12 là 20.
+1 cho ngày chỉ giải pháp – russellpierce
1 tuy nhiên một caveat đến ngày chỉ giải pháp: đầu ra không còn là một lớp ngày, nhưng một nhân vật, vì vậy số học sẽ yêu cầu back-transforming đầu ra. Oy vey. – AdamO
Nó có dạng 'as.Date (...) 'nên rõ ràng nó thuộc lớp' Date'. –