2016-01-26 57 views
1

我有這樣的3D圖,我在CRANř如何找到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) 

繪製我發現LOD評分的使用最高(檢測限),因此最大,找到相應的RB和RO。現在,我想找到rb和ro的95%CI。假定最大(檢測限)= 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) 
+0

你似乎在這裏問兩個問題:如何找到一個置信區間;如何找到飛機上方的點。如果是這樣,也許可以重新調整它,這顯然是你想要的。 –

+0

我想找到rb和ro的置信區間。我之所以提到點在飛機上方的原因是因爲我用來在二維圖中找到置信區間的方法是找到abline上方的點。 – Meo

+1

我剛剛編輯了這個問題,使其更清晰!謝謝Dominic Comtois! – Meo

回答

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然後計算95%預測表面使用predict(..., type="response")並使用此方法對點進行着色。請參閱:predict and multiplicative variables/interaction terms in probit regressions瞭解一個公認的更復雜模型的等效過程的工作示例。

你也可以做一個[r] prediction surface搜索和查找其他可能有用的答案,如本BenBolker建議,使用RGL:"A: scatterplot3d for Response Surface in R"

+0

42-,你能解釋爲什麼方程應該是lods = 0.2 + 0.3 * rb + 0.8 * ro? 95%的置信區間在哪裏起作用?我只想更多地瞭解這背後的數學。非常感謝你的幫助! – Meo

+0

你調用'plane3d'時的平面的隱式方程是'Z = 0.2 + 0.3 * X + 0.8 * Y';其中X,Y,Z分別具有rb,ro和lods的作用。我看到你假設的任務順序不同,但如果你看看繪製的實際飛機,你可以看到截距爲0.2。 95%可信區間需要使用「預測」使用類型=「響應來計算,使用在任何範圍的X和Y值視爲合適的值的網格(我假設您選擇的術語爲:期望的CI爲有點困惑,不能是CI的「ro」和「rb」;它們是固定的) –

+0

哦,我明白了,我想我明白plane3d錯了,我想要的是找到lods的95%置信區間是一個對數似然值),然後找到匹配的rb和ro,這是點的x和y座標,但我確實找到了解決方案。我計算了lods的95%置信區間,然後應用了xyz.coords。無論如何,謝謝你42-。你使用points3d實際上使我得到了答案! – Meo