Я хочу установить интервал в нижней части, а также в верхней части диапазона чисел в переменной. Мой вопрос, как я могу подмножество или фильтр на основе не больше, чем и не меньше, чем в R? Я посмотрел реляционные операторы ?'>'
, и нет ничего похожего на !>
или !>=
. Затем я обнаружил, что это возможно с !between()
из пакета dplyr
, но я не могу понять, как отрицать это в базе R. Как бы вы это сделали? Что-то вроде !(x[x >= left & x <= right])
не работает ...
require(dplyr)
#> Loading required package: dplyr
#>
#> Attaching package: 'dplyr'
#> The following objects are masked from 'package:stats':
#>
#> filter, lag
#> The following objects are masked from 'package:base':
#>
#> intersect, setdiff, setequal, union
require(ggplot2)
#> Loading required package: ggplot2
x <- seq(-5, 5, length.out = 1000)
d <- tibble(X = x, Y = x^3)
### THIS WORKS
(d %>%
filter(!between(X, -2, 2)) -> d_sub)
#> # A tibble: 600 x 2
#> X Y
#> <dbl> <dbl>
#> 1 -5 -125
#> 2 -4.99 -124.
#> 3 -4.98 -124.
#> 4 -4.97 -123.
#> 5 -4.96 -122.
#> 6 -4.95 -121.
#> 7 -4.94 -121.
#> 8 -4.93 -120.
#> 9 -4.92 -119.
#> 10 -4.91 -118.
#> # ... with 590 more rows
### PLOT TO CONFIRM
(d_sub%>%
ggplot(aes(X,Y)) + geom_point())
![](https://i.imgur.com/xvNm5tQ.png)
Создано в 2020-01-30 пакетом prex (v0.3.0)