I am searching for a way to get nearest position of a number in a vector from a search-value. So perhaps if I have this vector: 1.0 1.2 1.4 1.6 1.8 2.0 I want to get the position of a special number. with match(1.4 ,x), I get "3" for position three. But now I want the nearest number in that vector from perhaps 1.5 (the mean). I tried it with sequences: match(seq(from=1.1, to=1.6, by=.1),x) but what I get is: [1] NA NA NA NA NA 4 (instead of (NA 2 NA 3 NA 4).
One way: x <- abs(1.5 - c(1.0,1.2,1.4,1.6,1.8,2.0)) which(x==min(x)) On Wed, 30 Jul 2008, [ISO-8859-1] J?rg Gro? wrote:> I am searching for a way to get nearest position of a number in a > vector from a search-value. > > So perhaps if I have this vector: > 1.0 1.2 1.4 1.6 1.8 2.0 > > I want to get the position of a special number. > > with match(1.4 ,x), I get "3" for position three. > > But now I want the nearest number in that vector from perhaps 1.5 (the > mean). > > > > I tried it with sequences: > match(seq(from=1.1, to=1.6, by=.1),x) > > but what I get is: > [1] NA NA NA NA NA 4 > (instead of (NA 2 NA 3 NA 4). > > ______________________________________________ > R-help at 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. >
?findInterval> x <- c(1.0,1.2,1.4,1.6,1.8,2.0) > findInterval(1.4,x)[1] 3> findInterval(1.5,x)[1] 3> findInterval(10,x)[1] 6 On Tue, Jul 29, 2008 at 8:32 PM, J?rg Gro? <joerg at licht-malerei.de> wrote:> I am searching for a way to get nearest position of a number in a vector > from a search-value. > > So perhaps if I have this vector: > 1.0 1.2 1.4 1.6 1.8 2.0 > > I want to get the position of a special number. > > with match(1.4 ,x), I get "3" for position three. > > But now I want the nearest number in that vector from perhaps 1.5 (the > mean). > > > > I tried it with sequences: > match(seq(from=1.1, to=1.6, by=.1),x) > > but what I get is: > [1] NA NA NA NA NA 4 > (instead of (NA 2 NA 3 NA 4). > > ______________________________________________ > R-help at 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. >-- Jim Holtman Cincinnati, OH +1 513 646 9390 What is the problem you are trying to solve?