Re: [R] Lattice: groups and no groups with panel.superpose

2008-11-16 Thread Robert Buitenwerf

Thanks Gabor and Baptiste,
 
Both your suggestions give me the results I was looking for!
 
Robert

 CC: r-help@r-project.org
 From: [EMAIL PROTECTED]
 To: [EMAIL PROTECTED]
 Subject: Re: [R] Lattice: groups and no groups with panel.superpose
 Date: Sat, 15 Nov 2008 16:59:31 +
 
 Hi,
 
 I think the following code should do what you want,
 
 
 xyplot(yvar~year|week,data=df,layout = c(4, 5),
 type='p',
 groups = temp ,
 panel = function(x, y, ...) {
 panel.superpose(x, y, ...)
 panel.abline(lm(y~x))
 },
 panel.groups = function(x, y, ..., lty) {
 panel.xyplot(x, y, ..., lty = lty)
 panel.abline(lm(y~x), lty=3, ...)
 })
 
 Hope this helps,
 
 baptiste
 
 On 15 Nov 2008, at 14:25, Robert Buitenwerf wrote:
 

 Dear R listers,

 I am trying to create a lattice plot with independent regression 
 lines per group
 for each panel, plus one overall regression line per panel. I 
 succeed in having
 the separate regression lines for each group per panel, but I can't 
 figure out
 how to add the overall regression line over all groups. I have 
 learnt a lot from
 the list, but I can't find an example for what I want to do...

 with the following example data (from another post):
 years-2000:2006
 weeks-1:20
 yr-rep(years,rep(length(weeks)*6,length(years)))
 wk-rep(weeks,rep(6,length(weeks)))
 temp-rep(4:9,length(years)*length(weeks))
 yvar-round(rnorm(length(years)*length(weeks)*6,mean=30,sd=4),0)
 xvar-(rnorm(length(years)*length(weeks)*6)+5)/10
 df-data.frame(year=yr,week=wk,temp=temp, yvar=yvar,
 xvar=xvar)

 I get the regression lines per group for each panel using:

 xyplot(yvar~year|week,data=df,layout = c(4, 5),
 type='p',
 groups = temp ,
 panel = panel.superpose,
 panel.groups = function(x, y, ..., lty) {
 panel.xyplot(x, y, ..., lty = lty)
 panel.abline(lm(y~x), lty=3, ...)
 })

 And obviously the overall regression lines with:

 xyplot(yvar~year|week,data=df,layout = c(4, 5),
 type='p',
 panel = function(x, y, ...) {
 panel.xyplot(x, y, ...)
 panel.abline(lm(y~x))
 })

 Any advice on how to merge the output from the two above graphs 
 would be
 greatly appreciated!


 Kind regards,

 Robert Buitenwerf
 Ecologist
 SAEON
 South Africa
 _
 [[elided Hotmail spam]]

 __
 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.
 
 _
 
 Baptiste AuguiƩ
 
 School of Physics
 University of Exeter
 Stocker Road,
 Exeter, Devon,
 EX4 4QL, UK
 
 Phone: +44 1392 264187
 
 http://newton.ex.ac.uk/research/emag
 __
 
_
[[elided Hotmail spam]]

__
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.


[R] Lattice: groups and no groups with panel.superpose

2008-11-15 Thread Robert Buitenwerf

Dear R listers,
 
I am trying to create a lattice plot with independent regression lines per group
for each panel, plus one overall regression line per panel. I succeed in having
the separate regression lines for each group per panel, but I can't figure out
how to add the overall regression line over all groups. I have learnt a lot from
the list, but I can't find an example for what I want to do...
 
with the following example data (from another post):
  years-2000:2006
  weeks-1:20
  yr-rep(years,rep(length(weeks)*6,length(years)))
  wk-rep(weeks,rep(6,length(weeks)))
  temp-rep(4:9,length(years)*length(weeks))
  yvar-round(rnorm(length(years)*length(weeks)*6,mean=30,sd=4),0)
  xvar-(rnorm(length(years)*length(weeks)*6)+5)/10
  df-data.frame(year=yr,week=wk,temp=temp,   yvar=yvar,
  xvar=xvar)
 
I get the regression lines per group for each panel using:
  
  xyplot(yvar~year|week,data=df,layout = c(4, 5),
 type='p',
 groups = temp ,
 panel = panel.superpose,
 panel.groups = function(x, y, ..., lty) {
 panel.xyplot(x, y, ..., lty = lty)
 panel.abline(lm(y~x), lty=3, ...)
 })
   
And obviously the overall regression lines with:
  
  xyplot(yvar~year|week,data=df,layout = c(4, 5),
 type='p',
 panel = function(x, y, ...) {
 panel.xyplot(x, y, ...)
 panel.abline(lm(y~x))
 })
   
Any advice on how to merge the output from the two above graphs would be
greatly appreciated!
 
 
Kind regards,
 
Robert Buitenwerf
Ecologist
SAEON
South Africa
_
[[elided Hotmail spam]]

__
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.


Re: [R] Lattice: groups and no groups with panel.superpose

2008-11-15 Thread baptiste auguie

Hi,

I think the following code should do what you want,


 xyplot(yvar~year|week,data=df,layout = c(4, 5),
type='p',
groups = temp ,
panel = function(x, y, ...) {
panel.superpose(x, y, ...)
panel.abline(lm(y~x))
},
panel.groups = function(x, y, ..., lty) {
panel.xyplot(x, y, ..., lty = lty)
panel.abline(lm(y~x), lty=3, ...)
})

Hope this helps,

baptiste

On 15 Nov 2008, at 14:25, Robert Buitenwerf wrote:



Dear R listers,

I am trying to create a lattice plot with independent regression  
lines per group
for each panel, plus one overall regression line per panel. I  
succeed in having
the separate regression lines for each group per panel, but I can't  
figure out
how to add the overall regression line over all groups. I have  
learnt a lot from

the list, but I can't find an example for what I want to do...

with the following example data (from another post):
 years-2000:2006
 weeks-1:20
 yr-rep(years,rep(length(weeks)*6,length(years)))
 wk-rep(weeks,rep(6,length(weeks)))
 temp-rep(4:9,length(years)*length(weeks))
 yvar-round(rnorm(length(years)*length(weeks)*6,mean=30,sd=4),0)
 xvar-(rnorm(length(years)*length(weeks)*6)+5)/10
 df-data.frame(year=yr,week=wk,temp=temp,   yvar=yvar,
 xvar=xvar)

I get the regression lines per group for each panel using:

 xyplot(yvar~year|week,data=df,layout = c(4, 5),
type='p',
groups = temp ,
panel = panel.superpose,
panel.groups = function(x, y, ..., lty) {
panel.xyplot(x, y, ..., lty = lty)
panel.abline(lm(y~x), lty=3, ...)
})

And obviously the overall regression lines with:

 xyplot(yvar~year|week,data=df,layout = c(4, 5),
type='p',
panel = function(x, y, ...) {
panel.xyplot(x, y, ...)
panel.abline(lm(y~x))
})

Any advice on how to merge the output from the two above graphs  
would be

greatly appreciated!


Kind regards,

Robert Buitenwerf
Ecologist
SAEON
South Africa
_
[[elided Hotmail spam]]

__
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.


_

Baptiste AuguiƩ

School of Physics
University of Exeter
Stocker Road,
Exeter, Devon,
EX4 4QL, UK

Phone: +44 1392 264187

http://newton.ex.ac.uk/research/emag

__
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.