Я импортировал csv , в котором столбцы с # 5 и далее являются датами, которые необходимо очистить, поскольку они имеют форму X1.10.20
, и я хотел бы иметь формат YYYY-MM-DD
. Я использую gsub()
для очистки данных в распознаваемую форму для lubridate , а затем конвертирую с mdy()
library(tidyverse)
library(lubridate)
df <- read.csv("df.csv", stringsAsFactors = FALSE)
names(df) <- gsub("X", "", names(df)) #remove leading X
names(df) <- gsub("\\.", "-", names(df)) #convert . to -
Датированные столбцы теперь имеют формат: M-D-YY
dates <- mdy(names(df[,-c(1:4)])) #take current names and assign converted names to `dates` vector
Вектор дат теперь содержит даты в формате YYYY-MM-DD
. Я хотел бы взять этот dates
вектор и назначить его как имена из столбцов 4:length(df)
Я пробовал следующее:
names(df[,-c(1:4)]) <- dates
, однако имена столбцов в оригинале фрейм данных остается без изменений. и имеют формат M-D-YY
все еще.
Я чувствую, что, возможно, обдумываю это, и, вероятно, есть более простой способ переименовать определенные c столбцы. Я также пробовал rename()
из dplyr , но добился успеха только с именами столбцов по отдельности, и этот набор данных имеет сотни столбцов.
Как я могу go об этом? Ценю ваш вклад ...