检索顶部和底部值 R Dataframe

问题描述 投票:0回答:1

寻找一种方法来按值选择前 3 行和后 3 行。我尝试将 slice_max() 与 slice_min() 结合使用,但没有成功。

id  value
a  0.9
b  0.2
c -0.4
d -0.9
e  0.6
f  0.8
g -0.3
h  0.1
i  0.2
j  0.5
k -0.2

# Desired output: <br>
a  0.9
f  0.8
e  0.6
d -0.9
c -0.4
g -0.3
r dplyr tidyverse data-manipulation
1个回答
1
投票

dplyr

dat %>%
  filter(!between(dense_rank(value), 4, n() - 4))
#   id value
# 1  a   0.9
# 2  c  -0.4
# 3  d  -0.9
# 4  e   0.6
# 5  f   0.8
# 6  g  -0.3

dat %>%
  arrange(value) %>%
  slice( unique(c(1:3, n() - 2:0)) )
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.