hello, I tried your suggestion ,but the first line : z <- outer(x, x, "-") seems to fail pretty quickly as the length of the x vector increases. This is probably because it has to create a matrix of dimension dim(x)*dim(x). I am wondering if that can be quicker than a building a loop.
if my vector x holds a time series, I am trying to find for each element i of x the nb of steps j so that the value x[j] differs from x[i] by more than a predefined step value. Regards Benilton Carvalho wrote: > > i'm not so sure i understood, but you might want something in the > lines of: > > z <- outer(x, x, "-") > (abs(z)>step)*outer(1:length(x), 1:length(x))*z > > (not tested) > > b > > > On Jan 23, 2008, at 11:32 AM, papagenic wrote: > >> >> dear experts, >> >> I am new to R and am trying to compute a vector y from a vector x >> where : >> y[i] = sign(x[j]-x[i])*(j-i) with j the first index after i where >> abs(x[j]-x[i]) > to a given step >> y[i] is 0 if there is no such j >> >> I can write this in R as follows >> for(i in 1:length(x)) { >> y[i]=0 >> for(j in i:length(x)) { >> if (abs(x[j]-x[i]) > step) { >> y[i]=sign(x[j]-x[i])*(j-i) >> break; >> } >> } >> } >> >> but I wonder if there is a more efficient way to write this. I >> understand >> explicit looping can often be avoided in R using vector notation. >> >> Thanks for your help >> -- >> View this message in context: >> http://www.nabble.com/newbie%3Alooking-for-an-efficient-way-to-compute-distance-vector-tp15045583p15045583.html >> Sent from the R help mailing list archive at Nabble.com. >> >> ______________________________________________ >> R-help@r-project.org mailing list >> https://stat.ethz.ch/mailman/listinfo/r-help >> PLEASE do read the posting guide >> http://www.R-project.org/posting-guide.html >> and provide commented, minimal, self-contained, reproducible code. > > > ______________________________________________ > R-help@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide > http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code. > > -- View this message in context: http://www.nabble.com/newbie%3Alooking-for-an-efficient-way-to-compute-distance-vector-tp15045583p15053174.html Sent from the R help mailing list archive at Nabble.com. ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.