Re: lme: Plot colours based on variable?

Ben Bolker <[email protected]>
Newsgroups gmane.comp.lang.r.general
Message-ID <[email protected]>
   I often find custom-built lattice-based plot methods inscrutable and 
end up falling back to figuring out how to get what I want directly with 
lattice.

   I haven't figured out how to get the label 'Diet' on the legend, but 
otherwise this works pretty well ...


library(lattice)
library(nlme)
labs <- paste(attr(BodyWeight, "labels"),
               attr(BodyWeight, "units"))
xyplot(weight ~ Time | Rat, type = c("p", "r"),
        data = BodyWeight,
        layout = c(NA, 1),  ## enforce 1 row
        groups = Diet,
        auto.key = TRUE,
        pch = 19,
        xlab = labs[1],
        ylab = labs[2],
        par.settings = list(superpose.line = list(col = "black")))


On 12/2/25 06:06, Duncan Murdoch wrote:
> On 2025-12-02 3:39 a.m., Leo Mada via R-help wrote:
>> 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?
> 
>    plot(BodyWeight, ...)
> 
> dispatches to plot.nfnGroupedData(), which uses lattice::xyplot() 
> graphics rather than base graphics. I don't know lattice well enough to 
> answer your question, but maybe this will give you a hint...
> 
> Duncan Murdoch
> 
> ______________________________________________
> [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.

-- 
Dr. Benjamin Bolker
Professor, Mathematics & Statistics and Biology, McMaster University
Associate chair (graduate), Mathematics & Statistics
Director, School of Computational Science and Engineering
* E-mail is sent at my convenience; I don't expect replies outside of 
working hours.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.