Кажется, у вас 2-х git лет. От ?strptime
Год без века (00–99). При вводе значения от 00 до 68 начинаются с префикса от 20, а от 69 до 99 - от 19 - это поведение, определенное стандартами POSIX 2004 и 2008 годов, но они также говорят: «ожидается, что в будущей версии столетие по умолчанию будет выведено из 2-ди git год изменится '.
Таким образом, все 2 ди git года с 00-68 начинаются с префикса 20, следовательно, 60 поворотов к 2060, а не 1960.
Могут быть разные способы справиться с этим. Одним из способов было бы вычесть 100 лет из дат, чей год превышает 2014 (поскольку мы знаем диапазон лет).
Например,
df <- data.frame(date = c('1/12/60', '1/12/78' ,'1/1/91', '1/1/54'))
df$date <- as.Date(df$date, "%m/%d/%y")
df
# date
#1 2060-01-12
#2 1978-01-12
#3 1991-01-01
#4 2054-01-01
inds <- as.numeric(format(df$date, "%Y")) > 2014
df$date[inds] <- df$date[inds] - lubridate::years(100)
df
# date
#1 1960-01-12
#2 1978-01-12
#3 1991-01-01
#4 1954-01-01