Неожиданное поведение при использовании -which () в R, когда поисковый термин не найден

Я использовал Rwhich функция для удаления строк из фрейма данных. Недавно я обнаружил, что если поисковый термин НЕ находится в data.frame, результатом будет пустой символ.

# 1: returns A-Q, S-Z (as expected)
LETTERS[-which(LETTERS == "R")]
# 2: returns "character(0)" (not what I would expect)
LETTERS[-which(LETTERS == "1")]
# 3: returns A-Z (expected)
LETTERS[which(LETTERS != "1")]
# 4: returns A-Q, S-Z (expected)
LETTERS[which(LETTERS != "R")]

Является ли второй пример ожидаемым поведением для-which() когда поисковый термин не найден? Я уже переключил свой код на использование синтаксиса в примере 4, который кажется более безопасным, но мне просто любопытно.

Ответы на вопрос(3)

Ваш ответ на вопрос