Почему approx3d не интерполирует последние элементы 3D-массива?

#r #linear-interpolation

#r #линейная интерполяция

Вопрос:

Я использую функцию approx3d (из офиса пакета) для интерполяции значений из 3D-массива. Входные данные для функции включают в себя 3 вектора для измерений x, y и z массива, и NA возвращается, если позиция значения, которое вы пытаетесь интерполировать, лежит за пределами этих векторов. Функция работает нормально, когда используется первый элемент любого из векторов, но возвращает NA для последнего элемента.

Например:

 vector1 <- c(1:10)
vector2 <- c(1:10)
vector3 <- c(1:10)

array <- array(c(vector1, vector2, vector3)), dim = c(10,10,10))
 

approx3d(vector1, vector2, vector3, array, 2.3, 4.5, 6.6) работает нормально и возвращает 2.3.
approx3d(vector1, vector2, vector3, array, 1, 1, 1) также работает нормально и возвращает 1.

НО approx3d(vector1, vector2, vector3, array, 10, 1, 1) возвращается НА. Почему он считает, что 10 выходит за пределы векторов? Как я могу заставить его интерполировать для каждого значения 1:10 включительно?