Для анализа временных рядов более 1000 растров в стеке растров мне нужна дата. Данные почти еженедельные в структуре файлов "...1981036....tif" Ноль разделяет год и неделю Мне нужно что-то вроде: "1981-36"
но всегда получаю ошибку Ошибка в charToDate (x): строка символов не имеет стандартного однозначного формата
library(sp)
library(lubridate)
library(raster)
library(Zoo)
raster_path <- ".../AVHRR_All"
all_raster <- list.files(raster_path,full.names = TRUE,pattern = ".tif$")
all_raster
приносит мне: all_raster
".../VHP.G04.C07.NC.P1981036.SM.SMN.Andes.tif"
".../VHP.G04.C07.NC.P1981037.SM.SMN.Andes.tif"
".../VHP.G04.C07.NC.P1981038.SM.SMN.Andes.tif"
…
Чтобы получить год и соответствующую неделю, я использовал следующий код:
timeline <- data.frame(
year= as.numeric(substr(basename(all_raster), start = 17, stop = 17+3)),
week= as.numeric(substr(basename(all_raster), 21, 21+2))
)
timeline
приносит мне: график
year week
1 1981 35
2 1981 36
3 1981 37
4 1981 38
…
Но мне нужно что-то вроде = "1981-35", чтобы иметь возможность построить свой временной ряд позже
Я пробовал это:
timeline$week <- as.Date(paste0(timeline$year, "%Y")) + week(timeline$week -1, "%U")
и получите ошибку: Ошибка в charToDate(x): строка символов не имеет стандартного однозначного формата
или я так пробовал
fileDates <- as.POSIXct(substr((all_raster),17,23), format="%y0%U")
и получить ту же ошибку