format
должно совпадать с начальным vector
.
as.Date(datetime, "%H:%M:%S %d-%b-%Y")
#[1] "2019-05-03" "2018-05-03" "2017-05-03"
Если намерение это разделить на пробел " "
strsplit(datetime, "\\s+")
Или с read.table
df1 <- read.table(text = datetime, header = FALSE, col.names = c("time", "date"))
df1$date <- as.Date(df1$date, "%d-%b-%Y")
df1
# time date
#1 12:00:00 2019-05-03
#2 02:01:00 2018-05-03
#3 11:00:22 2017-05-03
Или с tidyverse
library(tidyverse)
tibble(datetime) %>%
separate(datetime, into = c('date', 'time'), sep=" ") %>%
mutate(time = dmy(time))
# A tibble: 3 x 2
# date time
# <chr> <date>
#1 12:00:00 2019-05-03
#2 02:01:00 2018-05-03
#3 11:00:22 2017-05-03
данные
datetime <- c("12:00:00 03-May-2019",
"02:01:00 03-May-2018",
"11:00:22 03-May-2017")