Фильтрация кадра данных по значениям в столбце

Я работаю с набором данных LearnBayes. Для тех, кто хочет видеть фактические данные:

install.packages('LearnBayes')

Я пытаюсь отфильтровать строки на основе значения в столбцах. Например, если значение столбца - "вода", то я хочу эту строку. Если значение столбца - "молоко", то я не хочу этого. В конечном счете, я пытаюсь отфильтровать всех людей, которые пьют колонку "вода".

Ответ 1

Команда подмножества не требуется. Просто используйте индексирование фреймов данных

studentdata[studentdata$Drink == 'water',]

Прочтите предупреждение из ?subset

Это функция удобства, предназначенная для интерактивного использования. Для программирования лучше использовать стандартные функции подмножества, такие как '[, И, в частности, нестандартная оценка аргумента "Подмножество может иметь непредвиденные последствия.

Ответ 2

Попробуйте следующее:

subset(studentdata, Drink=='water')

который должен это сделать.

Ответ 3

Думаю, я обновил бы это с помощью решения dplyr

library(dplyr)    
filter(studentdata, Drink == "water")