Данные:
v <- '30/8/2020football'
Решение:
df <- data.frame(Date = format(as.Date(unlist(strsplit(sub('([0-9/]+)(football).*', '\\1 \\2', v), " "))[1], "%d/%m/%Y")),
String = unlist(strsplit(sub('([0-9/]+)(football).*', '\\1 \\2', v), " "))[2])
Результат:
df
Date String
1 2020-08-30 football
Или, если вы предпочитаете более прозрачную процедуру:
Сначала разделите вектор:
v_split <- unlist(strsplit(sub('([0-9/]+)(football).*', '\\1 \\2', v), " "))
Затем настройте фрейм данных:
df <- data.frame(
Date = format(as.Date(v_split [1], "%d/%m/%Y")),
String = v_split [2])