Это ваши данные:
df <- data.frame(time.string=c("16 sec",
"1 min, 35 sec",
"45 sec",
"3 min, 42 sec"))
Теперь вы можете преобразовать строки времени в секунды , преобразовав min
в *60
, ,
в +
и удаление sec
.
df$time.expr <- gsub(", ", "+", gsub(" min", "*60", gsub(" sec", "", df$time.string)))
Что даст вам следующий результат:
# time.expr
#1 16
#2 1*60+35
#3 45
#4 3*60+42
Теперь вы оцените полученные выражения следующим образом:
df$time.int <- sapply(parse(text=time.expr), eval)
Что даст вам этовыход:
# time.string time.int
#1 16 sec 16
#2 1 min, 35 sec 95
#3 45 sec 45
#4 3 min, 42 sec 222
Надеюсь, это поможет.