Это функция для вычисления AUC с использованием правила средней точки. Как с помощью R определить вектор, содержащий средние точки между значениями предыдущего вектора? Или как я могу переместить значения вектора в их средние точки?
# define h (or delta x)
h <- (b - a) / n
# define vector based on the limits of integration, a to b by increments of h
xj <- seq.int(a, b, length.out = n + 1
# shift values of vector to their midpoints
Например, чтобы сдвинуть значения [0, 1, 2, 3] на [.25, 1.5, 2.5]
Этот цикл for работает, но мне интересно, есть ли более элегантное решение, чем это:
for (i in 1:length(xj)) {
xji[i] <- (xj[i] + xj[i + 1]) / 2
}