2013-07-04 3 views
0

다중 선형 회귀 분석을하고 있습니다.R에서 3D 표면 플롯을 만드는 방법은 무엇입니까?

나는 x * y 상호 작용의 결과 인 z 출력을가집니다.

나는이 데이터의 표면 플롯을 만들고 싶지만 운이 없었습니다. 나는 commandoes 와이어 프레임과 persp를 시도했지만, 아직 내 부대를 디자인 할 수없는 것 같습니다.

아름다운 scatterplot3d를 만들었지 만 동일한 데이터의 표면 플롯을 만들려면 어떻게해야합니까?

+0

Welcom입니다. 답을 얻더라도 이것을 읽으십시오 : [훌륭한 R 재현 가능한 예제를 만드는 방법?] (http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example) – agstudy

+0

가능한 복제본 [Plot Regression Surface] (http://stackoverflow.com/questions/7863906/plot-regression-surface)와 또한 SO를 검색하여 'scatter3d'를 찾아 rgl 그래픽의 점 및 표면이 가능할 가능성을 제공합니다. 'scatterplot3d'가 제공하는 정적 버전 –

답변

4

선형 회귀에서 3D 표면에 맞았다 고 말할 때 당신이하고있는 것을 알고 있다고 가정합니다. 무엇 perspwireframe은 각각의 그리드 지점에서 예측 된 z 높이와 함께 x 및 y 값의 그리드를 기대합니다. expand.grid을 사용하여 생성 할 수 있습니다. 여기에 대표적인 예가 있습니다.

preddf <- expand.grid(x=seq(xmin, xmax, len=51), 
         y=seq(ymin, ymax, len=51)) 

preddf$z <- predict(model, preddf) 

persp(preddf) 

그리드의 원하는 크기/밀도 xmin, xmax, ymin과 예측의 범위가 ymax, 51를 교체합니다.

3

expand.grid의 다른 대안은 outer을 사용하는 것이 더 빠릅니다.

@HongOoi 데이터를 사용하여 다음에 SO

z <- outer(x,y, function(x,y) 
    predict(mod,data.frame(x=x,y=y))) 
persp(x,y,z) 
관련 문제