I have a simple dataset of a numerical dependent Y, a numerical independent X and a categorial variable Z with three levels. I want to do linear regression Y~X for each level of Z. How can I do this in a single command that is without using lm() applied three isolated times? -- View this message in context: http://r.789695.n4.nabble.com/Linear-regression-on-several-groups-tp2322835p2322835.html Sent from the R help mailing list archive at Nabble.com.
Please read the posting guide and include a standalone example. Maybe you want something like the results from lm(weight ~ Time, data = ChickWeight, subset = Diet==1) lm(weight ~ Time, data = ChickWeight, subset = Diet==2) ## ... etc ... Then you could do (m <- lm(weight ~ Time*Diet, data = ChickWeight)) To get the Diet==2 coefficients from above you could use something like sum(coef(m)[c("(Intercept)", "Diet2")]) # Intercept sum(coef(m)[c("Time", "Time:Diet2")]) # Slope Hope this helps a little. Allan On 12/08/2010 17:11, JesperHybel wrote:> I have a simple dataset of a numerical dependent Y, a numerical independent X > and a categorial variable Z with three levels. I want to do linear > regression Y~X for each level of Z. How can I do this in a single command > that is without using lm() applied three isolated times?
hi, maybe an ANCOVA is what you want, which is also done by lm in R lm(y~x*z) Am 12.08.2010 17:11, schrieb JesperHybel:> > I have a simple dataset of a numerical dependent Y, a numerical independent X > and a categorial variable Z with three levels. I want to do linear > regression Y~X for each level of Z. How can I do this in a single command > that is without using lm() applied three isolated times?-- Eik Vettorazzi Institut f?r Medizinische Biometrie und Epidemiologie Universit?tsklinikum Hamburg-Eppendorf Martinistr. 52 20246 Hamburg T ++49/40/7410-58243 F ++49/40/7410-57790