On Jun 13, 2012, at 10:29 AM, Kristi Glover wrote:


Hi R experts,
Could you please help me to fit a linear, cubic and quadratic curve in a figure? I was trying to show all these three fitting curves with different colour in one figure.
I spent substantial time to figure it out, but I could not.

I have given here a example and what I did for linear, but no idea for cubic and quadratic fitting curve


dput(test)
structure(list(sp = c(4L, 5L, 9L, 12L, 14L), env = c(12L, 18L,
20L, 17L, 15L)), .Names = c("sp", "env"), class = "data.frame", row.names = c(NA,
-5L))
plot(test$sp~test$env, main = "S vs. temp", xlim=c(0,20), ylim=c(0,14), ylab="S",xlab="env")
linear<-lm(test$sp~test$env)
quadratic<-lm(test$sp~test$env+I(test$env^2))
#summary(quadratic)
cubic<-lm(test$sp~test$env+I(test$env^2)+I(test$env^3))
#summary(cubic)
#fitting curve
abline(linear)

Here I did for linear, but now I don't how I can plot quadratic and cubic line in the figure with different colour. I further wanted to put r2 value on the top of the fitting line. ON linear fitting curve, I can see the line originated from left to right (cover whole x axis). I could not plot the line only within the data set. Would any one help me to figure it? I think it is not difficult but for me- it is really taking time.

There is the poly function that does the heavy lifting and also preserves the statistical propriety of polynomial fits.


> quadratic<-lm( sp ~ poly(env, 2), data=test)
> #summary(quadratic)
> cubic<-lm( sp ~ poly(env, 3), data=test)
> #summary(cubic)
> #fitting curve

> plot( sp~ env, data=test, main = "S vs. temp", xlim=c(0,20), ylim=c(0,14), ylab="S",xlab="env")

> abline(linear)
> lines( test$env[order(test$env)] , predict(quadratic)[order(test $env)] ) > lines( test$env[order(test$env)] , predict(cubic)[order(test $env)] , col="red")

You can substitute:

lines(  x=seq( min(test$env) , max(test$env), len=100) ,
y= predict(model, data.frame(env=seq( min(test$env) , max(test$env), len=100) ) ) )

... if you want smoother output.

--
David Winsemius, MD
West Hartford, CT

______________________________________________
R-help@r-project.org mailing list
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.

Reply via email to