Мы можем использовать separate
library(dplyr)
library(tidyr)
data %>%
separate( Planned.Duration..dd.hh.mm.,
into = c("Planned Days" ,"Planned Hours" , "Planned Minutes"),
sep = "[: ]+", remove = FALSE, fill = "left", convert = TRUE)
# Planned.Duration..dd.hh.mm. Planned Days Planned Hours Planned Minutes
#1 1:03 NA 1 3
#2 2 00:38 2 0 38
#3 0:49 NA 0 49
Мы также можем использовать extract
data %>%
tidyr::extract(Planned.Duration..dd.hh.mm.,
into = c("Planned Days" ,"Planned Hours" , "Planned Minutes"),
"^(\\d+)? ?(\\d+):(\\d+)$", remove = FALSE, convert = TRUE)
# Planned.Duration..dd.hh.mm. Planned Days Planned Hours Planned Minutes
#1 1:03 NA 1 3
#2 2 00:38 2 0 38
#3 0:49 NA 0 49
данные
data <- data.frame(Planned.Duration..dd.hh.mm. =
c('1:03', '2 00:38','0:49'), stringsAsFactors = FALSE)