[R] Curve crosses back to origin in plot
Robert A. LaBudde
ral at lcfltd.com
Mon May 28 06:32:41 CEST 2007
Another sample problem: In the Windows version of R-2.5.0,
GHQ_glm_1<- glm(cbind(cases,non.cases) ~ GHQ, data=GHQ, family=binomial())
yfit_glm_1<- predict(GHQ_glm_1, type='response')
plot(probs ~ GHQ,pch=1,col=1,ylab='Probability(Case)', data=GHQ)
lines(yfit_glm_1 ~ GHQ, pch=3,col=3, data=GHQ)
legend("topleft", c("linear", "logistic"), pch=c(2,3), col=c(2,3))
Everything is fine, but the predicted values curve in the lines()
statement becomes closed by a straight line segment connecting the
last point to the first.
How can this be avoided? It appears to be wrapping due to the change
from GHQ=10 for female to GHQ=0 again for male, bring the curve back
to the beginning value.
One way to avoid this is to plot each sex's data in a separate lines() call.
Is there a way of doing this in a single lines() statement? If not,
I'd like to know. If two lines() are needed, I'd like to know an
efficient syntax. My attempt would be
lines(yfit_glm_1[0:10] ~ GHQ[0:10], pch=3,col=3, data=GHQ)
lines(yfit_glm_1[11:22] ~ GHQ[11:22], pch=3,col=3, data=GHQ)
which seems inelegant, as it involves numerical ranges that have to
be determined by inspection.
Thanks again for answering these simple questions that seem to be the
hardest to find answers for.
Robert A. LaBudde, PhD, PAS, Dpl. ACAFS e-mail: ral at lcfltd.com
Least Cost Formulations, Ltd. URL: http://lcfltd.com/
824 Timberlake Drive Tel: 757-467-0954
Virginia Beach, VA 23464-3239 Fax: 757-467-2947
"Vere scire est per causas scire"
More information about the R-help