У меня есть числовой вектор x
и data.frame startEnd
, включая столбцы с начальными и конечными строками.
> head(x)
23.80077 23.72072 23.64067 23.56062 23.48056 23.40051
> head(startEnd)
rowStart rowEnd
1 43 435
2 486 887
3 898 1325
4 1327 1742
5 1757 2196
6 2220 2646
Я хотел бы рассчитать медиану вектора x
от каждого rowStart до repsective rowEnd. У меня уже есть рабочее решение:
for(i in 1:nrow(startEnd)){
x_median[i] = median(x[startEnd$rowStart[i]:startEnd$rowEnd[i]])
}
Я мог бы легко перенести его на применение, но я ищу более эффективный способ. Я также думал о разделении вектора на список, используя интервалы и затем применяя медиану к каждому элементу списка. Любые рекомендации?