我知道要检索最接近 0 的值,我可以使用以下内容:
filter(abs(x-0)==min(abs(x-0)))
。以x
为载体。如何检索最接近 0 的两个值?
这是一个dplyr
版本;您可以使用top_n
来获取某些字段的n
最小(或最大)值:
df = data.frame(x = runif(100, -1, 1))
df %>%
mutate(dist.from.0 = abs(x - 0)) %>%
top_n(-2, dist.from.0)
tt <- sample(-200:200, 20)
tt[order(abs(tt), decreasing = F)][1:2]
诸如此类?
你不能
只用sort()
吗?
set.seed(1)
x <- rnorm(10)
sort(abs(x-0))[1:2]
#> [1] 0.1836433 0.3053884
创建于 2019-01-28 由 reprex 软件包 (v0.2.1)
我也不认为-0
为你做任何事情,所以可以做abs(x)
.