寻找一种方法来按值选择前 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
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)) )