Интерполировать v из нерегулярных точек x,y,z в R
Я пытаюсь использовать R для интерполяции значения ответа v от нерегулярно размещенных 3-мерных обработок x, y, z. В этом случае у меня есть 50 уникальных трехмерных точек (обработки в моем эксперименте) и одна переменная отклика. У меня есть одно значение v для каждого из 50 баллов, но я хочу интерполировать ответ между этими 50 баллами. Насколько я понимаю, многим интерполяционным кодам, таким как contour(), нужны данные с регулярным интервалом, но мои обработки вообще не располагаются регулярно в трехмерном пространстве.
реальный фрейм данных выглядит так:
head(df)
x y z v
14.200 27.20250 8.057316 2.427
13.675 37.98000 7.874447 1.740
13.700 24.64750 7.760348 3.637
13.800 32.93833 7.711711 2.175
13.775 30.17500 8.040487 2.498
14.125 18.65750 7.658253 3.246
до строки 50. Я уже использовал ploy_ly() для создания трехмерной диаграммы рассеяния, окрашенной v, но я хочу интерполировать ее в форму функционального отклика или в виде трехмерного контурного графика, чтобы заполнить пробелы между точками. Это также означает, что мне придется раскрасить его прозрачными цветами или контурным графиком в виде срезов или чего-то еще. Есть идеи?
Воспроизводимый код набора данных:
ДФ:
df <- data.frame(matrix(ncol = 4,nrow=50))
colnames(df) <- c("x", "y", "z","v")
set.seed(5)
df$x <- rep(1:25, each=2)
df$y <- sample(40, size = nrow(df), replace = TRUE)
df$z <- sample(30, size = nrow(df), replace = TRUE)
df$v <- c(c(1:25),c(25:1))
3D сюжет:
install.packages("plotly")
library(plotly)
plot_ly(x=df$x, y=df$y, z=df$z, type="scatter3d", mode="markers",color=df$v)%>%
layout(
scene = list(
xaxis = list(title = "X"),
yaxis = list(title = "Y"),
zaxis = list(title = "Z")))
Спасибо!