(R)

2012-08-24 4 views
2

가능한 중복 :
Multiple plots with high-level plotting functions, especially plot.rqs()(R)

I 의존 하나 개는 독립 변수 18 개 분위수 회귀 분석을 실행하고있다. 나는 $ \ tau = 0.01,0.02, ..., 0.99 $에 걸친 18 개의 기울기 추정값의 분포를 $ 6 * 3 $로 표시하려고합니다.

require(quantreg) 

op <- par(xlab="") 
y=rnorm(200) 
x=rnorm(200) 
plot(summary(rq(y~x,tau=1:99/100)),parm=2,main="",mfrow=c(6,3),mar=c(0.5,2,2,2)) 
par(new=TRUE) 
plot(summary(rq(y~x,tau=1:99/100)),parm=2,main="",mfrow=c(6,3),mar=c(0.5,2,2,2)) 

두 번째 플롯은 모든 방법을 오른쪽 아래로 이동, 나는 세 번째 시도 때 그래프 창에서도 아니다 :

는 여기에 지금까지 할 수 있었던 것입니다.

나는 plot() 외부에 par (mfrow = c (6,3))를 넣으려고했지만 작동하지 않았다. 모든

enter image description here

+0

경고가 50 개 이상 있습니다. 경고()를 입력하면 무엇이 표시됩니까? –

+0

그냥 "rq.fit.br (x, y, tau = tau, ci = TRUE, ...) : 솔루션이 비 유니크 일 수 있습니다." " 항상 당신이 사용하는 변수가 무엇이든 상관 없습니다. 그것은'rq()'에서 온 것이지,'plot()'에서 가져온 것이 아닙니다. –

+0

@DWin 데이터는 내가 제공 한 코드에서 생성 한'y'와'x'입니다. –

답변

3

plot.summary.rqs의 기본 동작은 각 매개 변수에 대해 하나의 플롯으로 타일 플롯을 구성하는 것입니다.이 플롯은 사용자가보기에 익숙한 것이지만 롤랜드에서는 par() 그것은 당신의 노력을 무너 뜨립니다. 이것을 극복 할 수있는 몇 가지 방법이 있습니다. 하나는 함수를 다시 실행하는 것입니다. 그러나 함수를 변경하지 않고 그대로 두려면 보조 호출 (2가 있음)을 주석 처리하고 프레임 워크 내에서 후속 플로팅에 사용하는 보조 함수 (새 이름을 가진 원본의 복사본)를 만들면됩니다.

enter image description here

+0

필자는 'plot.summary.rqs'와 동일한 새로운 함수를 만들려고했지만, par (mfrow = mfrow_orig, mar = mar_orig)'의 두 인스턴스가 모두 주석 처리되었다는 점만 다릅니다 '#'로 끝내십시오. 그런 다음 각 호출 사이에 par (new = TRUE)를 사용하여 코드를 복사하고 새 함수의 첫 번째 호출은 그래픽 장치 전체를 차지하는 그래프를 만들었습니다 (작고 내 원하는'mfrow'를 고수하는 대신) . –

+0

'par (new = TRUE) '를 사용할 필요가 없습니다. 나 스크린 샷에서 사용하지 않았다는 사실에 유의하십시오. 레이아웃은 첫 번째 호출에 의해 설정되면 하나씩 채워집니다. 제 생각에'new = TRUE'는 첫 번째 줄거리를 덮어 쓰고 목적을 이길 것입니다. –

+0

'par (new = TRUE)'없이 먼저 시도해 보았지만 제대로 작동하지 않았습니다. 'plot2'는 두 개의'par (.....)'행이 삭제되었다는 사실을 제외하고 모든면에서'plot.summary.rqs'와 동일한 함수입니다. 그 다음에 저는 Line 1 :'y = rnorm (200)', Line 2 :'x = rnorm (200)', Line 3 :'plot (summary (rq (y ~ x, τ = 1 : line 4 :'plot2 (summary (rq()) : parm = 2, main = "", mfrow = c (6,3), mar = c (0.5,2,2,2) parm = 2, main = "", mar = c (0.5,2,2,2))'이고, 하나의 그림이있는 그래픽 장치 창이 있고 나는'mfrow'로 원하는대로 바둑판 식 배열을하지 않습니다. –

1

먼저, 나는 그 경고에 대해 걱정할 것이다.

plot.summary.rqs은 음모가 좋지 않은 음모 매개 변수를 설정하고 재설정합니다. 한 가지 해결책은이 기능이없는 plot.summary.rqs을 기반으로 자신의 플로팅 기능을 정의하는 것입니다.

+0

(1) 나는 그것을 줄 것이다, 고마워. 그러나 누군가가 알고있는 경우에 대비하여 많은 신문이 기와를 꾸미고 R 포럼에서 불평하는 사람을 볼 수 없기 때문에 나는 아마 며칠을 기다릴 것입니다. 그래서 아마 내가 코딩하는 방식 일 것입니다. (2)'(1:99)/100'은'1 : 99/100'과 같습니다. –