Skip to content

Conditional ploting with logical vector

3 messages · Armin Goralczyk, Ken Knoblauch, Jim Lemon

#
Hi list
Maybe someone can help with the following problem (thanks in advance):

In a function I have a plot and want to add symbols/text only when
indicated by a logical vector (which was generated by the function
before, not manually like in the following example):

plot(1:10, 1:10)
lv <- c(T,T,T,F,F,F,T,T,T,F)
text(1:10, 1:10, '*', pos = 3)

In this example the asterisk is plotted at every yx-coordinate
indicated. How Can I make it appear only when 'TRUE' in the lv?

Another (statistical) question:
Actually this function generates significance levels to the plot at 10
time points of a time series by comparing the values at the single
time points by a t-test. I know this is probably not the correct way
to compare the whole series, but I have to do it this way
('constraints'). The question is: do I have to adjust for multiple
testing by e.g. Bonferroni correction?
#
Armin Goralczyk <agoralczyk <at> gmail.com> writes:
Maybe, someone has a more elegant solution, but this
works,

plot(1:10, 1:10)
lv <- c(T,T,T,F,F,F,T,T,T,F)
lv2 <- ifelse(lv, TRUE, NA)
text(1:10, (1:10) * lv2, '*', pos = 3)

HTH

ken
#
Armin Goralczyk wrote:
cond.astrx<-ifelse(lv,"*",NA)
text(1:10, 1:10,cond.astrx, pos = 3)
I vote yes.

Jim