1

我有这个用 cran 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)



    
4

1 回答 1

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()

在此处输入图像描述

请注意,scatterplot3d 中的 plane3d 函数也接受来自 lm 或 glm 的结果,因此您可以首先计算模型 wherelods ~ rb +ro然后predict( ..., type="response")使用此方法计算 95% 的预测表面并为点着色。请参阅:概率回归中的预测和乘法变量/交互项,以获取有关公认更复杂模型的等效程序的工作示例。

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

于 2016-01-26T18:49:19.610 回答