У меня довольно большая месячная база данных, в которой даты записываются плохо.
Например, для января 2000 года значение равно «200001». Таким образом, у меня есть значения в диапазоне от "200001" до "200012". Что еще хуже, каждый месяц записывается в другой файл .csv.
Сначала я загрузил все файлы .csv вместе, создав список, который я назвал "tbl". Так, например, tbl [[1]] возвращает значения за январь. Мне нужно найти эффективный способ переоценки «20000i» в «2000-01-0i», где я перехожу от 1 до 12, а затем преобразовать эти значения в формат даты.
То, что я пробовал, это:
for (i in length(tbl)) {
if (i < 10) {
tbl[[i]]$DATA %>% as.character() %>% revalue(c(paste0("20000",i) = paste0("2000-01-0",i))) %>% as.Date() -> tbl[[i]]$DATA
} else {
tbl[[i]]$DATA %>% as.character() %>% revalue(c(paste0("2000",i) = paste0("2000-01-",i))) %>% as.Date() -> tbl[[i]]$DATA
}
}
Этот подход не работает и возвращает следующую ошибку:
Error: unexpected '=' in " tbl[[i]]$DATA %>% as.character() %>% revalue(c(paste0("2000",i) ="
У кого-нибудь есть идея получше?
РЕДАКТИРОВАТЬ: пример моих данных
list(c("200001", "200001", "200001", "200001", "200001", "200001","200001", "200001", "200001", "200001", "200001", "200001"),
c("200002", "200002", "200002", "200002", "200002", "200002",
"200002", "200002", "200002", "200002", "200002", "200002"
), c("200003", "200003", "200003", "200003", "200003", "200003",
"200003", "200003", "200003", "200003", "200003", "200003"
), c("200004", "200004", "200004", "200004", "200004", "200004",
"200004", "200004", "200004", "200004", "200004", "200004"
), c("200005", "200005", "200005", "200005", "200005", "200005",
"200005", "200005", "200005", "200005", "200005", "200005"
), c("200006", "200006", "200006", "200006", "200006", "200006",
"200006", "200006", "200006", "200006", "200006", "200006"
), c("200007", "200007", "200007", "200007", "200007", "200007",
"200007", "200007", "200007", "200007", "200007", "200007"
), c("200008", "200008", "200008", "200008", "200008", "200008",
"200008", "200008", "200008", "200008", "200008", "200008"
), c("200009", "200009", "200009", "200009", "200009", "200009",
"200009", "200009", "200009", "200009", "200009", "200009"
), c("200010", "200010", "200010", "200010", "200010", "200010",
"200010", "200010", "200010", "200010", "200010", "200010"
), c("200011", "200011", "200011", "200011", "200011", "200011",
"200011", "200011", "200011", "200011", "200011", "200011"
), c("200012", "200012", "200012", "200012", "200012", "200012",
"200012", "200012", "200012", "200012", "200012", "200012"
))