[R] Correct Syntax for a Loop
Gabor Grothendieck
ggrothendieck at myway.com
Sun Nov 28 16:51:01 CET 2004
ebashi <arshia22 <at> yahoo.com> writes:
:
: I'll appreciate if some one can help me with the
: following loop. This is the logic of the loop,
: if we have the following data;
: > x.df
: x.dif
: . .
: . .
: 102 0.00
: 103 0.42
: 104 0.08
: 105 0.00
: 106 0.00
: 107 0.00
: 108 -0.16
: 109 -0.34
: 110 0.00
: 111 -0.17
: 112 -0.33
: 113 0.00
: 114 0.00
: 115 0.00
: 116 0.33
: 117 0.17
: 118 0.00
: . .
: . .
: I'm trying to find i's where
: for (i in 2:length(x.dif))
: if (x.dif[i-1]<=0 and x.dif[i]>0 and x.dif[i+2]>0)
: it would return i+2 to me,
: How can I turn this to a right format as a loop.(I
: can't figure out the syntax)
One way is to convert it to a ts time series so you can use the lag
operator and have everything automatically aligned for you:
x.dif.ts <- ts(x.dif)
bool <- lag(x.dif.ts,-3) <= 0 & lag(x.dif.ts,-2) > 0 & x.dif.ts > 0
time(bool)[bool]
More information about the R-help
mailing list