2013-09-27 2 views
1

lower.panel 및 upper.panel 옵션을 사용하여 데이터의 pairs() 플롯을 그린 후 방법 및 방법을 파악하지 못했습니다. 서브 패널의 축을 구성 할 수 있다면 가능합니다. 예를 들어 data(iris)을 사용하는 경우 pairs(iris[1:4],xlim=c(0,10))은 하위 플롯의 모든 x 축의 크기를 0에서 10까지 조정할 수있는 플롯을 제공합니다.R, pairs() : lower/upper 패널을 지정할 때 서브 패널의 축 구성

pairs(iris[1:4],xlim=c(0,10),lower.panel=panel.lm)을 사용해도 여전히 정상적으로 작동합니다. pairs()의 도움말 파일에서 패널 기능 panel.cor을 시도하면 오류 unused argument (xlim = c(0, 10))가 표시됩니다.

코드를 panel.lmpanel.cor으로 비교했지만 설정을 조정해야하는 부분에 대해서는 더 이상 언급하지 않았습니다. xlimylim을 설정하는 것 외에도, 축이 각각의 상단 패널과 하단 패널에 레이블되어야 하는지를 지정하는 것이 좋습니다. 그러나 이것이 너무 많이 묻는 지 모르겠습니다.

는 참고로, 여기에 R 도움말 파일에서 두 가지 기능은 다음과 같습니다

panel.lm<- 
function (x, y, col = par("col"), bg = NA, pch = par("pch"), 
cex = 1, col.lm = "red", lwd=par("lwd"), ...) 
{ 
points(x, y, pch = pch, col = col, bg = bg, cex = cex) 
ok <- is.finite(x) & is.finite(y) 
if (any(ok)) 
    abline(lm(y~x,subset=ok), col = col.lm, ...) 
} 
panel.cor <- function(x, y, digits=2, prefix="r = ", cex.cor) 
{ 
usr <- par("usr"); on.exit(par(usr)) 
par(usr = c(0, 1, 0, 1)) 
r <- cor(x, y) 
txt <- format(c(r, 0.123456789), digits=digits)[1] 
txt <- paste(prefix, txt, sep="") 
if(missing(cex.cor)) cex <- 0.8/strwidth(txt) 
text(0.5, 0.5, txt, cex = cex * abs(r)) 
} 

답변

0

당신은 단지 panel.cor 함수에서 ...을 포함하는 것을 잊었다. xlimpanel.lm과 작동하는 유일한 이유는 해당 인수가 ...을 통해 후속 함수에 전달된다는 것입니다. 줄임표가 없으면 panel.cor은 알 수없는 인수 인 xlim을보고 오류를 throw합니다. 변경 대상 :

panel.cor <- function(x, y, digits=2, prefix="r = ", cex.cor,...) 
관련 문제