[R] add trend line to each group of data in: xyplot(y1+y2 ~ x | grp...
Andy Bunn
abunn at whrc.org
Fri Mar 10 19:03:03 CET 2006
Although this should be trivial, I'm having a spot of trouble.
I want to make a lattice plot of the format y1+y2 ~ x | grp but then fit a
lm to each y variable and add an abline of those models in different colors.
If the xyplot followed y~x|grp I would write a panel function as below, but
I'm unsure of how to do that with y1 and y2 without reshaping the data
before hand. Thoughts appreciated. -Andy
foo <- data.frame(y1 = 1:25+rnorm(100, -3, 1), y2 = 1:25+rnorm(100,3,1), x =
rep(1:25,4), grp = rep(letters[1:4],25))
# I want to add a trend line for y1 and y2 here:
xyplot(y1+y2 ~ x | grp, data = foo)
# like this example for just one y variable:
xyplot(y1~x|grp, data = foo, panel = function(x,y)
{ lm1 = lm(y~x)
panel.points(x,y, col = "red")
panel.abline(lm1, col = "red")
#lm2 = lm(y~x) # model for y2
#panel.points(x,y, col = "blue") #points for y2
#panel.abline(lm2, col = "blue") #abline for y2
})
> version
_
platform i386-pc-mingw32
arch i386
os mingw32
system i386, mingw32
status
major 2
minor 2.1
year 2005
month 12
day 20
svn rev 36812
language R
More information about the R-help
mailing list