找到向量中的近似值

时间:2016-08-31 13:37:44

标签: r

我有一些带数字的矢量。

test <- 0.495

vector <- c(0.5715122, 2.2860487, 5.1436096, 9.1441949)

此向量需要采用数字0.495的近似数字。 帮我。

1 个答案:

答案 0 :(得分:1)

如果我理解正确,您希望从最接近test值的矢量中提取值。

vector[which.min(abs(vector - test))]
#[1] 0.5715122

如果两个不同的值最接近,您可以这样做:

vector <- c(0.5715122, 2.2860487, 5.1436096, 9.1441949, 0.4184878)
tol <- sqrt(.Machine$double.eps)
vector[which(abs(vector - test) - min(abs(vector - test)) < tol)]
#[1] 0.5715122 0.4184878

tol是一个考虑浮点精度的容差,通常根据help(".Machine")选择。