У меня есть фрейм данных с ежедневными значениями NDVI с 2013 по 2017 год. Мой фрейм данных содержит непрерывные данные NDVI (т. Е. Для каждого дня года), но вот воспроизводимый пример структуры моего фрейма данных:
year <- sample(2013:2017, 750,replace=TRUE)
DOY <- sample(1:365, 750,replace=TRUE)
NDVI<- runif(750, -1, 1)
df <- cbind(year,DOY,NDVI)
Я использую функции quantile и tapply, чтобы найти для каждого года в кадре данных значение NDVI, соответствующее 10-му, 30-му, 50-му и 80-му процентилю:
quantile=do.call("rbind", tapply(df$NDVI, df$year, quantile,c(0.10, 0.30, 0.50, 0.80)))
Мой вопрос:Как найти DOY, соответствующий 10-му, 30-му, 50-му, 80-му процентилю значений NDVI для каждого года?Например, если значение NDVI 0,3 соответствует 50-му процентилю 2014 года, я хотел бы вернуть DOY, соответствующий NDVI 0,3.
Спасибо за помощь!