Dear Vaclav,

Thank  you very much for the suggestion.

I tried to avoid this plot, because it wastes a lot of space. Each of Diet 1, 2 
and 3 are visualised on separate rows, with the remaining row empty.

Ben and Deepayan provided some working code. Some fine details still need to be 
improved, but both versions work well otherwise.

Regarding the image: I wanted to add some nice images to a lecture - a wrap up 
of the statistics module for medical residents. As doctors do not know a lot of 
statistics, good images can convey the knowledge much better. I wanted to give 
them some overview of mixed-effects models and some other (more) advanced 
topics. Funnily, mid through the lecture I tried to have them recount what 
variance was; only to learn that they are a new batch of residents and this was 
their first class.

Unfortunately, I am not familiar with lattice. And the terminology used through 
the documentation is sometimes confusing as well.

Your suggestion to change the colours may be useful to someone, so I am adding 
it to the discussion thread.

Many thanks,

Leonard


________________________________
From: V�clav Adamec <[email protected]>
Sent: Tuesday, December 2, 2025 1:07 PM
To: Leo Mada <[email protected]>
Subject: Re: lme: Plot colours based on variable?

Hopefully, this is what you want.

Vaclav



library(nlme)
library(lattice)
plot(BodyWeight)
rat.fit = lme(weight ~ Time + Diet, data = BodyWeight, random = ~ Time|Rat)
plot(rat.fit, weight ~ Time | Rat + Diet, groups = ~Diet, col = 2:4,
     panel = function(x, y, groups, subscripts, ...) {
  panel.xyplot(x, y, ..., groups = groups, subscripts = subscripts, )
})

________________________________________
Od: R-help <[email protected]> za u�ivatele Leo Mada via R-help 
<[email protected]>
Odesl�no: �ter� 2. prosince 2025 9:39
Komu: Leo Mada via R-help
P�edm�t: [R] lme: Plot colours based on variable?

Dear R-Users,

Is there a quick solution to plot colours based on a variable?

I tried something like this:

library(nlme)

plot(BodyWeight)

# Does NOT work!
colDiet = c(2:4)[BodyWeight$Diet]
plot(BodyWeight, col = colDiet)

# Wastes space
rat.fit = lme(weight ~ Time + Diet, data = BodyWeight, random = ~ Time|Rat)
plot(rat.fit, weight ~ Time | Rat + Diet)

Is there a quick way to base the colour on the Diet variable?

Many thanks,

Leonard


        [[alternative HTML version deleted]]

______________________________________________
[email protected] mailing list -- To UNSUBSCRIBE and more, see
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide https://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

        [[alternative HTML version deleted]]

______________________________________________
[email protected] mailing list -- To UNSUBSCRIBE and more, see
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide https://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to