2013-03-05 8 views
2

다음과 같은 문제점이 있습니다. 순서가있는 로짓 모델을 실행 한 후에 결과를 시각화하기 위해 R의 효과 패키지가 필요합니다. 이것은 잘 작동하고 두 개의 독립 변수에 대해 그렇게 했으므로 두 플롯을 결합하려고했습니다. 그러나 이것은 효과가없는 것 같습니다. 당신이 자신을 위해 내 문제를 볼 수 있도록 내가 여기 조금 복제 예제를 제공합니다효과 패키지로 만든 두 개의 플롯을 R에 결합하십시오

library(car) 
data(Chile) 
mod <- polr(vote ~ age + log(income), data=Chile) 

eff <- effect("log(income)", mod) 
plot1 <- plot(eff, style="stacked",rug=F, key.args=list(space="right")) 

eff2 <- effect("age", mod) 
plot2 <- plot(eff2, style="stacked",rug=F, key.args=list(space="right")) 

내가 지금 독립적으로이 두 플롯을 인쇄 할 수 있습니다,하지만 난 그들을 함께 플롯 할 때, 첫 번째 플롯을 덮어 씁니다. 나는 작동하지 않았던 par(mfrow=c(2,1))을 설정하려고 시도했다. 다음으로는 다음과 같은 노력이 후자의 경우

print(plot1, position=c(0, .5, 1, 1), more=T) 
print(plot2, position=c(0,0, 1, .5)) 

, 두 개의 플롯의 위치는 잘하지만, 내가 두 번째 (또는 더 나은, 그것은 덮어 쓰기)를 추가하면 여전히 첫 번째 플롯은 사라진다. 이 문제를 방지하는 방법에 대한 제안이 있으면 감사하겠습니다.

답변

4

우리가하고 몇 가지 인자가있는 것을 볼 수 ?print.eff 인수의 긴 목록을 아래로 읽고 그냥이 :

plot(eff, style="stacked",rug=F, key.args=list(space="right"), 
    row = 1,col = 1,nrow = 1,ncol = 2,more = TRUE) 
plot(eff2, style="stacked",rug=F, key.args=list(space="right"), 
    row = 1,col = 2,nrow = 1,ncol = 2) 

par()이 패키지는 격자 그래픽을 사용하기 때문에 작동하지 않는 이유는, 기본 그래픽과 호환되지 않는 그리드 시스템을 기반으로합니다. par() 또는 layout도 그리드 그래픽에 영향을 미치지 않습니다.

+0

고마워, 지금은 잘 작동합니다! – Flow

1

이 작동하는 것 같다 :

plot(eff,col=1,row=2,ncol=1,nrow=2,style="stacked",rug=F, 
    key.args=list(space="right"),more=T) 
plot(eff2,col=1,row=1,ncol=1,nrow=2,style="stacked",rug=F, 
    key.args=list(space="right")) 

편집 : 너무 늦게 ...

관련 문제