[R] Annoteting graphs using text

Liaw, Andy andy_liaw at merck.com
Fri Nov 7 19:08:02 CET 2003


You want to use paste() inside text(), not cat().

Andy

> From: Craig H. Ziegler [mailto:chzieg01 at athena.louisville.edu] 
> 
> Dear All,
> 
> I am new to R and am trying to learn how to create functions 
> using R. Below is code which calculates Lin's Concordance 
> Coefficient.  After I calculate the coefficient I want to 
> create a scatter plot which annotates the coefficient along 
> with preceding text onto the plot. The below code doesn't 
> seem to work.  If I use only the object 'lincc' on the text 
> command it works (but doesn't give me the preceding
> text) or if I use only "Lin's Concordance Coefficient = " on 
> the text command it works (but doesn't place on the plot the 
> value for the object 'lincc').  Similarly, I have tried using:
>           linc=cat("Lin's Concordance Coefficient = ",lincc) 
> within the function and then specifying:
>                     text(20,60,(linc)
> 
> Also, the objects I create inside a "user defined function"
> are internal to the function.  Is there anyway/command that
> can make them external, i.e., make them exists to perform
> tasks on outside the user defined function.
> 
> Can anyone offer some advise as to what I am doing wrong?
> 
> Thanks,
> 
> Craig Ziegler
> **************************************************************
> # o1 is the x vector
> # o2 is the y vector
> # I am trying to correlate these vectors to get
> # Lin's Concordance Coeffient.  These are just
> # test vectors
> o1=c(11,9,54,55,50,44,58,5,21,58,41,59,39,34,23)
> o2=c(27,15,72,63,65,49,51,8,30,43,40,62,52,49,21)
> 
> #title is a specification for the plot title; see 'main = 
> title' in the #plot function #hlab is the x axis label; see 
> "xlab = hlab" in the plot function #vlab is the y axis label; 
> see "ylab = vlab" in the plot function
> 
> title="This is a test plot"
> vlab="Label for verticle axis"
> hlab="Label for horizontal axis"
> 
> # Start of the function I call lin
> 
> lin = function (x,y)
>      {
>       lincc =
>               (2 * cov(x,y)) /
>               (var(x) + (var(y)) +
> 	      ((mean(x) - mean(y))^2))
>                print(lincc)
> 
>        agree =
>                plot(x,y,xlim=c(0,70),ylim=c(0,70),
> 	       main = title, xlab = hlab, ylab = vlab )
> 	       abline(0,1)
> 
>                #Below is where I am having trouble as discussed above
> 
>                text(20,60,cat("Lin's Concordance Coefficient 
> = ",lincc))
> 	       print(agree)
>        }
> 
> #executes the function
> lin(o1,o2)
> 
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list 
> https://www.stat.math.ethz.ch/mailman/listinfo> /r-help
>




More information about the R-help mailing list