[R] finding an observation with similar characteristics
slurpy
sunayan at gmail.com
Wed Nov 4 12:08:19 CET 2009
Hi. I have a data frame with 2 variables (x & y). For each row(i) I need to
find an alternate row(j) with similar x & y by sub-setting such that 0.5x[i]
<= x(j) <= 1.5x[i], and then choosing the minimum y[i]-y[j] from that
subset. I am currently implementing this using a for loop:
test<-data.frame(x<-runif(100),y<-runif(100))
for (i in 1:length(test$x)){
test$z[i]<-which(test$y[which(test$x[-i]>0.5*test$x[i] &
test$x[-i]<1.5*test$x[i])]-test$y[i] ==
min(test$y[which(test$x[-i]>0.5*test$x[i] &
test$x[-i]<1.5*test$x[i])]-test$y[i]))
}
This gives me a column of row numbers corresponding to the desired
observation. However, my actual data is much larger (about 50,000 rows) and
is only a small part of my overall code. Is anyone aware of a way of doing
this without resorting to a for loop? Thanks.
--
View this message in context: http://old.nabble.com/finding-an-observation-with-similar-characteristics-tp26194391p26194391.html
Sent from the R help mailing list archive at Nabble.com.
More information about the R-help
mailing list