阿尤达·科迪哥·德

时间:2019-05-22 00:15:45

标签: r

set.seed(1234)
t<-rnorm(1000,100,10)
  

Como encontrar el valor del vector t queestámáscerca de elnúmero107吗? Ayuda por赞成

如何找到最接近数字107的向量的值?

2 个答案:

答案 0 :(得分:0)

这就是我要怎么做-对向量进行索引以找到与107最小的绝对差。

ConvStride = [np.ones((12,),dtype=int),2,np.ones((11,),dtype=int),2,np.ones((12,),dtype=int),1]

Ans= [1 1 1 1 1... 1],2,[1 1 1 ... 1],2,[1 1 1 1....1],1

ConvStride = [np.ones((12,),dtype=int),2,np.ones((11,),dtype=int),2,np.ones((12,),dtype=int),1]

请注意,我使用x[which.min(abs(x - 107))] 而不是x,这是因为t是R中内置的函数,因此应避免使用t()作为值。


逐步帮助您了解正在发生的事情

t

仅运行# Get a vector of the differences between x and 107 x - 107 # Get a vector of the absolute values of the differences abs(x - 107) # Tell us which of those values is the smallest using which.min which.min(abs(x - 107)) # Index the vector using that id x[which.min(abs(x - 107))] 会得到204;最小的差异是which.min(abs(x - 107))的第204个值。

答案 1 :(得分:0)

set.seed(1234)
t<-rnorm(1000,100,10)
library(dplyr)
df <- data.frame(t = t, id = 1:length(t))
df <- df %>% dplyr::arrange(t) %>% dplyr::slice(base::findInterval(107, df$t))
t[df[1,2]] # value
df[1,2] # position in t
> t[df[1,2]] # value
[1] 106.9798
> df[1,2] # position in t
[1] 464

Find closest value in a vector with binary search