#r
Вопрос:
Я использую данные NYCflights13 и получаю неиспользуемую ошибку аргумента при попытке найти рейсы, вылетающие между » a » и «b»
фильтр(рейсы, между(dep_time, 0, 600, incbounds = FALSE))
Ошибка: Проблема с filter()
вводом ..1
.
ℹ Ввод ..1
есть between(dep_time, 0, 600, incbounds = FALSE)
.
x неиспользуемый аргумент (incbounds = FALSE)
Комментарии:
1. Проверьте
?between
, нет лиincbounds
аргумента. Это объясняет ошибку.
Ответ №1:
Неиспользуемый аргумент означает, что параметр incbounds не определен в between()
. Вот документ. Для этого вы можете написать свою собственную функцию.
between_new <- (x, left, right, incbounds = TRUE) {
if (incbounds) {
x >= left amp; x <= right
} else {
x > left amp; x < right
}
}
x <- filter(flights, between_new(dep_time, 0, 600, incbounds = FALSE))
summary(x$dep_time)
# Min. 1st Qu. Median Mean 3rd Qu. Max.
# 1.0 538.0 554.0 480.9 556.0 559.0
Комментарии:
1. Спасибо! Существует ли какая-либо функция dplyr или R, которая позволяет проверять наличие двух значений, исключая границы?
2. Я не отдаю себе в этом отчета. Я думаю, вы можете легко исключить границы, удалив по одному блоку с обоих концов:
filter(flights, between(dep_time, 0 1, 600 - 1))