Хранение только определенных строк фрейма данных на основе набора значений

У меня есть фрейм данных с идентификатором столбца и несколько столбцов для значений. Я хотел бы сохранить только определенные строки фрейма данных в зависимости от того, соответствует ли значение ID в этой строке другому набору значений (например, называется «сохранить»).

Для простоты вот пример:

df <- data.frame(ID = sample(rep(letters, each=3)), value = rnorm(n=26*3))
keep <- c("a", "d", "r", "x")

Как я могу создать новый фрейм данных, состоящий из строк, которые имеют только идентификаторы, совпадающие с идентификаторами хранения? Я могу сделать это только для одного письма, используяwhich() функция, но с несколькими буквами я получаю предупреждающие сообщения и неправильные результаты. Я знаю, что мог бы выполнить цикл for через фрейм данных и экстраполировать таким образом, но мне интересно, есть ли более элегантный и эффективный способ сделать это. Заранее спасибо.

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

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