Java Mailing List Archive

http://www.r-help.com/

Home » R Help for Statistical Computing »

Re: [R] "pairs" with same xlim and ylim scale

Dejian Zhao

2010-09-03

Replies: Find Java Web Hosting

Author LoginPost Reply
Well done! I was totally misled and trapped by the error message.
Acturally the absence of "1.00" in the upper panel is an implicit
indication that error occurred there.

On 2010-9-3 13:02, Shi, Tao wrote:
> Hi Dejian,
>
> Thanks for the reply!
>
> I finally found the problem. It is actually in the "panel.cor" function.
> Adding "..." in the function and "text" call fixed everything.
>
>
> Best,
>
> ...Tao
>
>
>
>
> ----- Original Message ----
>  
>> From: Dejian Zhao<dejian.zhao@(protected)>
>> To: r-help@(protected)
>> Sent: Thu, September 2, 2010 7:57:55 PM
>> Subject: Re: [R] "pairs" with same xlim and ylim scale
>>
>> When "pairs" draws plots, "lower.panel" invokes "f.xy". Maybe there is
>> something in "f.xy" incompatible with "pairs". You can read the code of
>> "pairs" to see what happens.
>>
>> "pairs" has two methods, as you can see in the help message (?pairs).
>> According to your code, pairs is supposed to invoke "Default S3 method".
>>  > methods(pairs)
>> [1] pairs.default  pairs.formula*
>>    Non-visible functions are asterisked
>> Therefore, you should check the code of the function "pairs.default" to
>> see how error occurs. Just type "pairs.default" at the R command prompt
>> and enter, you can get the source code of "pairs.default".
>>
>>
>>
>> On 2010-9-2 15:15, Shi, Tao wrote:
>>    
>>> Hi Dejian,
>>>
>>> You're right on this! Do you know how to pass those two argument into
>>> lower.panel? Thanks!
>>>
>>>  ...Tao
>>>
>>>
>>> ________________________________
>>> From: Dejian Zhao<zhaodj@(protected)>
>>> To:r-help@(protected)
>>> Sent: Tue, August 31, 2010 6:10:16 PM
>>> Subject: Re: [R] "pairs" with same xlim and ylim scale
>>>
>>> I think you have successfully passed the "xlim" and "ylim" into the
>>> function pairs1. Compare the two graphs produced by the codes you
>>> provided, you can find the xlim and ylim in the second graph have been
>>> reset to the assigned value. It seems that the program halted in
>>> producing the second plot after adding xlim and ylim. According to the
>>> error message, the two added parameters were not used in lower.panel, or
>>> the customized function f.xy.
>>>
>>> On 2010-9-1 2:26, Shi, Tao wrote:
>>>
>>>    
>>>> Hi list,
>>>>
>>>> I have a function which basically is a wrapper of pairs with some useful
>>>>      
>> panel
>>    
>>>> functions. However, I'm having trouble to pass the "xlim" and "ylim" into
>>>>      
>> the
>>    
>>>> function so the x and y axes are in the same scale and 45 degree lines are
>>>> exactly diagonal.  I've looked at some old posts, they didn't help much.
>>>>      
>> I
>>    
>>>>
>>>>      
>>> [[elided Yahoo spam]]
>>>
>>>    
>>>> Thanks!
>>>>
>>>>  ...Tao
>>>>
>>>>
>>>> pairs1<- function(x, ...) {
>>>>     f.xy<- function(x, y, ...) {
>>>>           points(x, y, ...)
>>>>           abline(0, 1, col = 2)
>>>>     }
>>>>
>>>>      panel.cor<- function(x, y, digits=2, prefix="", cex.cor) {
>>>>         usr<- par("usr"); on.exit(par(usr))
>>>>         par(usr = c(0, 1, 0, 1))
>>>>         r<- abs(cor(x, y, method="p", use="pairwise.complete.obs"))
>>>>         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 * r)
>>>>       }
>>>>
>>>>       panel.hist<- function(x, ...) {
>>>>         usr<- par("usr"); on.exit(par(usr))
>>>>         par(usr = c(usr[1:2], 0, 1.5) )
>>>>         h<- hist(x, plot = FALSE)
>>>>         breaks<- h$breaks; nB<- length(breaks)
>>>>         y<- h$counts; y<- y/max(y)
>>>>         rect(breaks[-nB], 0, breaks[-1], y, col="cyan", ...)
>>>>       }
>>>>
>>>>     pairs(x, lower.panel=f.xy, upper.panel=panel.cor,
>>>>      
>> diag.panel=panel.hist,
>>    
>>>>  ...)
>>>> }
>>>>
>>>>
>>>>
>>>>      
>>>>> x<- rnorm(100, sd=0.2)
>>>>> x<- cbind(x=x-0.1, y=x+0.1)
>>>>> pairs1(x)
>>>>> pairs1(x, xlim=c(-1,1), ylim=c(-1,1))
>>>>>
>>>>>
>>>>>        
>>>> Error in lower.panel(...) :
>>>>    unused argument(s) (xlim = c(-1, 1), ylim = c(-1, 1))
>>>>
>>>>
>>>>
>>>>     [[alternative HTML version deleted]]
>>>>
>>>>  ______________________________________________
>>>> R-help@(protected)
>>>> https://stat.ethz.ch/mailman/listinfo/r-help
>>>>  PLEASE do read the posting
>>>>      
>> guidehttp://www.R-project.org/posting-guide.html
>>    
>>>> and provide commented, minimal, self-contained, reproducible code.
>>>>
>>>>
>>>>      
>>>  ______________________________________________
>>> R-help@(protected)
>>> https://stat.ethz.ch/mailman/listinfo/r-help
>>> PLEASE do read the posting guidehttp://www.R-project.org/posting-guide.html
>>> and provide commented, minimal, self-contained, reproducible code.
>>>
>>>  ______________________________________________
>>> R-help@(protected)
>>> https://stat.ethz.ch/mailman/listinfo/r-help
>>> PLEASE do read the posting guidehttp://www.R-project.org/posting-guide.html
>>> and provide commented, minimal, self-contained, reproducible code.
>>>
>>>    
>> ______________________________________________
>> R-help@(protected)
>> https://stat.ethz.ch/mailman/listinfo/r-help
>> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
>> and provide commented, minimal, self-contained, reproducible code.
>>

______________________________________________
R-help@(protected)
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.
©2008 r-help.com - Jax Systems, LLC, U.S.A.