[R] Annoteting graphs using text
Craig H. Ziegler
chzieg01 at athena.louisville.edu
Fri Nov 7 18:49:19 CET 2003
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)
More information about the R-help
mailing list