set.seed(1234)
t<-rnorm(1000,100,10)
Como encontrar el valor del vector t queestámáscerca de elnúmero107吗? Ayuda por赞成
如何找到最接近数字107的向量的值?
答案 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