Это не самое элегантное решение, но оно работает
library(stringr)
library(dplyr)
example_data <- c("20121029 0", "20121029 100", "20121029 2100")
# Extract the times
times <- example_data %>% strsplit(. , " ") %>% sapply(. , "[", 2)
times <- str_pad(times, max(nchar(times)), side="right", pad="0")
# Extract just the dates
dates <- example_data %>% substr(., 1, 8)
# Combine date and time and convert to POSIXct
date_time <- paste(dates, times) %>% as.POSIXct(., format="%Y%m%d %H%M")