Hi,
You need to select a format that recognize abbreviated month names, in the correct locale. See ?strptime
Packages like lubridate or anytime may help
lubridate::dmy(factor("01Dec2011"))
#> [1] "2011-12-01"
anytime::anydate(factor("01Dec2011"))
#> [1] "2011-12-01"
Created on 2019-12-09 by the reprex package (v0.3.0)
Also, for date, try to import them as character directly and not factor when you are creating or reading. (see stringsAsFactors in data.frame for example)