Что касается временных рядов пространственных данных, которые я изучаю в R, у меня есть вопрос, с которым вы могли бы мне помочь!
Я получил огромное количество ежедневных данных (за 2001–2015 годы = 14061 слой). Теперь я хочу вычислить среднее значение в год на пиксель и сохранить результат в слое (результат должен быть растровым стеком из 15 слоев, по одному в год). Проблема в том, что мне приходится включать високосные годы в учебу ...
Что я получил до сих пор, так это:
ts_years <- seq.Date(as.Date("2001/01/01"), as.Date("2015/01/01"), by = "year")
# create a vector with 15 elements for 15 years
ts_years_length <- sapply(ts_years, yearDays)
# calculate number of days for the specific years
ts_years_length
[1] 365 365 365 366 365 365 365 366 365 365 365 366 365 365 365
Теперь я хочу вычислить индекс - чтобы преследовать начало и конец каждого года в моем растровом стеке - чтобы построить среднее значение для каждого года с помощью этого. Поэтому я должен выяснить, как решить следующую проблему:
year_2001 <- rasterstack[[1:365]]
year_2002 <- rasterstack[[366:731]]
year_2003 <- rasterstack[[732:1097]]
# ...and so on
Для этого мне нужно сложить созданный вектор следующим образом:
ts_years_length_index <- c(1, ts_years_length[1],
ts_years_length[1] + 1, ts_years_length[1] + 1 + ts_years_length[2])
# ...and so on
Но так как это действительно боль в а **, было бы неплохо сделать это автоматически. У вас есть предложения?
Большое спасибо за вашу помощь заранее!