Для анализа временных рядов более 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")
и получите ту же ошибку