Hi, I'm sure these are basic problems so I apologise in advance for my ignorance. I have a dataset with X, Y, and a Factor with 4 levels. I am trying to figure out how to use lm() to find the r2 value, slope and intercept of an X~Y regression, for each level of the Factor. Is there a way to do this automatically without having to specify different subsets of the factor? my code so far: Regression<-lm(Y~X, data=dataset, subset=factor(Factor)) Also, when I plot this dataset using: xyplot(Y~X|factor(Factor), data=dataset, aspect="iso", type=c("p","g","r"),pch=21,cex=1) I get a four panel plot (one for each level of the factor) with a regression line for each. How do I figure out the r2 value and coefficients of each regression line and add them as text to the plot. Thanks for your help! James -- View this message in context: http://www.nabble.com/Regression-for-levels-of-a-factor-xyplot-type%3D%22r%22-tp25692526p25692526.html Sent from the R help mailing list archive at Nabble.com.
Gabor Grothendieck
2009-Oct-01 04:13 UTC
[R] Re gression for levels of a factor/xyplot type="r"
See lmList in the lme4 package. Each component of the result will be one lm and you can take a summary of each. On Wed, Sep 30, 2009 at 11:10 PM, jimdare <jamesdare26 at gmail.com> wrote:> > Hi, > > I'm sure these are basic problems so I apologise in advance for my > ignorance. ?I have a dataset with X, Y, and a Factor with 4 levels. ?I am > trying to figure out how to use lm() to find the r2 value, slope and > intercept of an X~Y regression, for each level of the Factor. ?Is there a > way to do this automatically without having to specify different subsets of > the factor? > > my code so far: > > Regression<-lm(Y~X, data=dataset, subset=factor(Factor)) > > Also, when I plot this dataset using: > > xyplot(Y~X|factor(Factor), data=dataset, aspect="iso", > type=c("p","g","r"),pch=21,cex=1) > > I get a four panel plot (one for each level of the factor) with a regression > line for each. ?How do I figure out the r2 value and coefficients of each > regression line and add them as text to the plot. > > Thanks for your help! > > James > > > > -- > View this message in context: http://www.nabble.com/Regression-for-levels-of-a-factor-xyplot-type%3D%22r%22-tp25692526p25692526.html > Sent from the R help mailing list archive at Nabble.com. > > ______________________________________________ > R-help at 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. >
Jorge Ivan Velez
2009-Oct-01 04:46 UTC
[R] Re gression for levels of a factor/xyplot type="r"
Hi James, Here is a suggestion: # Data set.seed(123) Factor <- rep(1:4, each = 20) X <- rnorm(80, 25, 4) Y <- 5 + 1.5*Factor*X + rnorm(80) df <- data.frame(X, Y, Factor) # Splitting df sdf <- with(df, split(df, Factor)) # betas and R2 do.call(rbind, lapply(sdf, function(miniDF){ fit <- lm(Y ~ X, data = miniDF) out <- c(coef(fit), R2 summary(fit)$r.squared) out } ) ) HTH, Jorge On Wed, Sep 30, 2009 at 11:10 PM, jimdare <> wrote:> > Hi, > > I'm sure these are basic problems so I apologise in advance for my > ignorance. I have a dataset with X, Y, and a Factor with 4 levels. I am > trying to figure out how to use lm() to find the r2 value, slope and > intercept of an X~Y regression, for each level of the Factor. Is there a > way to do this automatically without having to specify different subsets of > the factor? > > my code so far: > > Regression<-lm(Y~X, data=dataset, subset=factor(Factor)) > > Also, when I plot this dataset using: > > xyplot(Y~X|factor(Factor), data=dataset, aspect="iso", > type=c("p","g","r"),pch=21,cex=1) > > I get a four panel plot (one for each level of the factor) with a > regression > line for each. How do I figure out the r2 value and coefficients of each > regression line and add them as text to the plot. > > Thanks for your help! > > James > > > > -- > View this message in context: > http://www.nabble.com/Regression-for-levels-of-a-factor-xyplot-type%3D%22r%22-tp25692526p25692526.html > Sent from the R help mailing list archive at Nabble.com. > > ______________________________________________ > 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. >[[alternative HTML version deleted]]