Из приведенных выше комментариев я понимаю, что ваша задача состоит в том, чтобы (i) определить столбцы, содержащие даты, и (ii) изменить формат дат. Вот решение, которое использует grepl
для сопоставления дат и apply
и lubridate
для изменения формата даты:
library(lubridate)
dataset[apply(dataset, 2, function(x) all(grepl("\\d{1,2}-[A-z]{3,4}-\\d{4}", x)))] <-
apply(dataset[apply(dataset, 2, function(x) all(grepl("\\d{1,2}-[A-z]{3,4}-\\d{4}", x)))], 2,
function(x) format(parse_date_time(x, orders = "%d-%b-%Y"), "%d-%m-%Y"))
Результат:
dataset
A B X.Y_DATE XX.YY_DATE Check_DATE
1 12345 Software Inc 12345 01-05-2019 01-05-2019 01-05-2019
2 12346 Software In 1234523 02-06-2020 05-06-2020 02-06-2020
3 123463 Software In 234234234 03-07-2020 04-07-2020 03-07-2020
Данные:
dataset <- data.frame(A = c("12345 Software Inc","12346 Software In","123463 Software In"),
B = c(12345,1234523,234234234),
X.Y_DATE = c("1-May-2019","2-Jun-2020","3-July-2020"),
XX.YY_DATE = c("1-May-2019","5-Jun-2020","4-July-2020"),
Check_DATE = c("1-May-2019","2-Jun-2020","3-July-2020"))