Hi Peter, One way is to process the strings before converting them to dates:
x2<-c("45-12-03","01-06-24","04-9-15","1901-03-04") add_century<-function(x,changeover=68,previous=19,current=20) { centuries<-sapply(sapply(x,strsplit,"-"),"[",1) shortyears<-which(!(nchar(centuries)>2)) century<-rep("",length(x)) century[shortyears]<-ifelse(centuries[shortyears]>changeover,previous,current) newx<-paste0(century,x) return(newx) } add_century(x2,1) Jim On Fri, Apr 17, 2020 at 12:34 AM Peter Nelson via R-help <r-help@r-project.org> wrote: > > I have a data set (.csv) with date (eg date of birth) information stored as > character vectors that I’m attempting to transform to POSIXct objects using > the package lubridate (1.7.4). The problem that I’m trying to address is that > my two digit years are invariably (?) parsed to 20xx. For example, > > x <- c("45-12-03","01-06-24","64-9-15”) > ymd(x) > [1] "2045-12-03" "2001-06-24" "2064-09-15” > > These should be parsed as “1945-12-03” “2001-06-24” “1964-09-15”. > > I've tried to use parse_date_time()—based on the documentation it looks to me > as though the argument cutoff_2000 should allow me to address this, but it’s > unclear to me how to implement this. As an example, I’ve tried > > parse_date_time(x, cutoff_2000 = 01) > > but get the following error message (and similar for other similar attempts, > including cutoff_2000 = 01L) > > Error in parse_date_time(x, cutoff_2000 = 1) : > unused argument (cutoff_2000 = 1) > > Thanks for your help! > > Peter Nelson, PhD > Institute of Marine Sciences > University of California, Santa Cruz > Center for Ocean Health, Long Marine Lab > 115 McAllistair Way > Santa Cruz, CA, 95076, USA > 707-267-5896 > > > > > > > [[alternative HTML version deleted]] > > ______________________________________________ > R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code. ______________________________________________ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.