如何在曲线R中的3d图中找到置信区间?

时间:2016-01-26 18:26:59

标签: r scatter3d

我有这个我用曲线R绘制的3d图

rb = rep(seq(0.1, 1, 0.1), 10)
ro = sort(rb)
lods = runif(100) #create a random LOD score

library(scatterplot3d)
lodsplot<- scatterplot3d(rb, ro, lods)

我使用max(lods)找到了LOD分数的最大值,因此找到了相应的rb和ro。现在,我想找到rb和ro的95%CI。假设max(lods)= 0.8并且各自的rb和ro分别为0.2和0.3,我想用平面绘图:

lodsplot$plane3d(c(0.2, 0.3, 0.8))

然后找到飞机上方的点(我不知道怎么办)。我在想什么?谢谢!

注意:

如果我只做一个2D图,我就是这样做的:

plot(rb, lods, type = "l)
which(lods == max(lods))
limit = max(lods) - 1.92
abline(h = limit)
#Find intersect points:
above <- lr > limit
intersect.points <- which(diff(above) != 0)

1 个答案:

答案 0 :(得分:1)

您需要找到平面上方的点,定义假设的95%上限,您建议使用等式:

 lods = 0.2+ 0.3*rb+ 0.8*ro

因此,计算满足隐式不等式的点的项目编号:

high <- which(lods > 0.2+ 0.3*rb+ 0.8*ro)

情节:

png()
lodsplot<- scatterplot3d(rb, ro, lods)
high <- which(lods > 0.2+ 0.3*rb+ 0.8*ro)
lodsplot$plane3d(c(0.2, 0.3, 0.8))
lodsplot$points3d( rb[high], ro[high], lods[high], col="red"); dev.off()

enter image description here

请注意,scatterplot3d中的plane3d函数也接受来自lm或glm的结果,因此您可以先计算lods ~ rb +ro的模型,然后使用predict( ..., type="response")计算95%预测曲面并为点着色使用这种方法。请参阅:predict and multiplicative variables / interaction terms in probit regressions,了解关于公认的更复杂模型的等效程序的实例。

您还可以在[r] prediction surface上搜索并找到其他可能有用的答案,例如BenBolker建议使用rgl:"A: scatterplot3d for Response Surface in R"