Мы можем избежать этого преобразования, если мы читаем с check.names = FALSE
df1 <- read.csv('file.csv', check.names = FALSE, stringsAsFactors = FALSE)
, если мы уже читаем его без опции check.names = FALSE
, конвертируем в класс Date
и затем format
names(df1)[-1] <- format(as.Date(names(df1)[-1], format = "X%m.%d.%y"), "%m/%d/%y")
Или другой вариант sub
names(df1)[-1] <- sub("^X(\\d+)\\.(\\d+)\\.(\\d+)", "\\1/\\2/\\3", names(df1)[-1])