Hi there,

Is this what you want?

your.number=5.43

# For a vector
x=c(1,2,4,3,2,5,6,7,5.42,6)
which.min(abs(x-your.number))
[1] 9

# For a matrix
set.seed(123)
X=matrix(rpois(100,4.5),ncol=10)
apply(X,2,function(x) which.min(abs(x-your.number)))
 [1] 9 3 2 3 2 5 1 2 2 2


HTH,

Jorge


On Wed, Jul 9, 2008 at 11:28 AM, R_Learner <[EMAIL PROTECTED]> wrote:

>
> I have a long list of numbers [3.4,5.4,3.67,....], and I basically want to
> find the index of the number closest to this number that I have, let's say
> 5.43. How would I do this without writing a for loop (I have to do this
> many
> times for several lists)? Is there a "lookup" function in R?
>
> Thanks!
> --
> View this message in context:
> http://www.nabble.com/Find-the-closest-value-in-a-list-or-matrix-tp18363290p18363290.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.
>

        [[alternative HTML version deleted]]

______________________________________________
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.

Reply via email to