#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 включительно?