[R] How do I perform conditional annotation of lattice panel plots?

Ken Knoblauch ken.knoblauch at inserm.fr
Tue Jan 7 16:50:39 CET 2014

Chen, George <George.Chen <at> roswellpark.org> writes:
> My apologies for asking this question that may have 
been asked before. I am trying to plot activity
> dependent on time conditioned by the subject. 
Code for sample data below.
> So I have something like this
> xyplot(Activity~Time|Subject).
> This works fine, but now I want to show 
where on these activity curves Event A occurs. 
This is to explore the
> relationship between A and activity.
> I tried this:
> xyplot(EventA+Activity~Time|Subject)
> but then the numerical ordering gets out of order.
> Ideally Event A could be denoted by a vertical line 
cutting through the curve at the day Event A occurred, but
> some other way to denote it would be great!
-----snip -------------
> Any ideas on how to do this would be appreciated!
> Thanks very much in advance!
> This email message may contain legally privileged 
and/or confidential information.  If you are not the
> intended recipient(s), or the employee or agent 
responsible for the delivery of this message to the
> intended recipient(s), you are hereby notified 
that any disclosure, copying, distribution, or use of
> this email message is prohibited.  If you have 
received this message in error, please notify the sender
> immediately by e-mail and delete this email 
message from your computer. Thank you.
> 	[[alternative HTML version deleted]]
You used Time in your formula but Day in 
your data so I changed the formula to Day
assuming that's what you meant

Perhaps, not the most elegant solution, but 
how about something like this


xyplot(Activity~ Day | Subject)
xyplot(Activity ~ Day | Subject, data = Data,
	subscripts = TRUE,
	panel = function(x, y, subscripts, ...){
		panel.xyplot(x, y)
		wh <- Data[subscripts, ]
		panel.abline(v = wh$Day[!is.na(wh$EventA)])

Kenneth Knoblauch
Inserm U846
Stem-cell and Brain Research Institute
Department of Integrative Neurosciences
18 avenue du Doyen Lépine
69500 Bron
tel: +33 (0)4 72 91 34 77
fax: +33 (0)4 72 91 34 61
portable: +33 (0)6 84 10 64 10

More information about the R-help mailing list