我有一个像下面的向量:
x= c(1,23,4,15,8,17,21)
在vector中的排序值之后,我们有:
c(1,4,8,15,17,21,23)
我需要的输出是:
c(3, 3, 4, 2, 2, 2, 2)
其中包含值与其最接近值之间的差。
但是,如果我想不排序就输出结果,有什么解决办法吗?我需要像c(3,2,3,2,4,2,2)这样的输出,以了解哪个样本在输出表中具有最大的值(这里是第5个值)
最佳答案
d <- diff(sort(x))
pmin(c(d, NA), c(NA, d), na.rm = TRUE)
# [1] 3 3 4 2 2 2 2
关于r - 如何在R中的向量中找到一个值与其最接近的值之间的差?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35016594/