【发布时间】:2018-11-11 03:38:18
【问题描述】:
我有一个数据框,其中包含 2013 年至 2017 年的每日 NDVI 值。 我的数据框有连续的 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 函数在数据框中查找每一年对应第 10、30、50 和 80 个百分位数的 NDVI 值:
quantile=do.call("rbind", tapply(df$NDVI, df$year, quantile,c(0.10, 0.30, 0.50, 0.80)))
我的问题是:如何找到每年 NDVI 值的第 10、30、50、80 个百分位数对应的 DOY?例如,如果 NDVI 值 0.3 对应于 2014 年的第 50 个百分位,我想返回对应于 0.3 的 NDVI 的 DOY。
感谢您的帮助!
【问题讨论】:
标签: r percentile