Как добавить доверительные интервалы к трехмерной поверхности? - PullRequest
0 голосов
/ 06 декабря 2018

У меня есть матрица 40x40 из значений, полученных путем интерполяции с использованием библиотеки akima для создания трехмерной поверхности.

Я оценил CI 95%, используя симуляции Монте-Карло из прогнозируемых значений, и теперь я хочу добавить их длягод 0 для моего трехмерного графика.

Я делаю что-то не так, и я не понимаю, как строить вертикальные линии для представления КИ.Мои строки выглядят так:

enter image description here

И я хочу, чтобы CI был похож на это изображение: enter image description here

Вот мои данные, ссылка на Dropbox, потому что они длиннее, чем место, разрешенное для публикации здесь: https://www.dropbox.com/s/c6iyd2r00k5jbws/data.rtf?dl=0

и мой код:

    persp(xyz,theta = 45, phi = 25,border="grey40", ticktype = "detailed", zlim=c(0,.8))->res2

   y.bin <- rep(1,25)
    x.bin <- seq(-10,10,length.out = 25)

points (trans3d(x.bin, y.bin, z = y0, pmat = res2), col = 1, lwd=2)
lines (trans3d(x.bin, y.bin, z = LCI, pmat = res2), col = 1, lwd=2)
lines (trans3d(x.bin, y.bin, z = UCI, pmat = res2), col = 1, lwd=2)

1 Ответ

0 голосов
/ 30 января 2019

Проблема в том, что верхний и нижний доверительные интервалы изображаются в виде одной линии.Если вы зациклите точки с интервалом, а затем проведете линию между верхним и нижним значениями, график будет выглядеть ближе к тому, что вы хотите.Обратите внимание, что значения точек в примере y0 не во многих 3d-интервалах.

enter image description here

# data from link is imported
persp(xyz,theta = 45, phi = 25,border="grey40", ticktype = "detailed", zlim=c(0,.8))->res2

y.bin <- rep(1,25)
x.bin <- seq(-10,10,length.out = 25)

# y0 points
points (trans3d(x.bin, y.bin, z = y0, pmat = res2), col = 1, lwd=2)

# lines between upper and lower CIs for each location
for(i in 1:length(LCI)){
  lines (trans3d(rep(x.bin[i],2), rep(y.bin[i],2), z = c(LCI[i],UCI[i]), pmat = res2), col = 1, lwd=2)
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...