Фильтрация кадра данных по значениям в столбце
Я работаю с набором данных LearnBayes
. Для тех, кто хочет видеть фактические данные:
install.packages('LearnBayes')
Я пытаюсь отфильтровать строки на основе значения в столбцах. Например, если значение столбца - "вода", то я хочу эту строку. Если значение столбца - "молоко", то я не хочу этого. В конечном счете, я пытаюсь отфильтровать всех людей, которые пьют колонку "вода".
Ответы
Ответ 1
Команда подмножества не требуется. Просто используйте индексирование фреймов данных
studentdata[studentdata$Drink == 'water',]
Прочтите предупреждение из ?subset
Это функция удобства, предназначенная для интерактивного использования. Для программирования лучше использовать стандартные функции подмножества, такие как '[, И, в частности, нестандартная оценка аргумента "Подмножество может иметь непредвиденные последствия.
Ответ 2
Попробуйте следующее:
subset(studentdata, Drink=='water')
который должен это сделать.
Ответ 3
Думаю, я обновил бы это с помощью решения dplyr
library(dplyr)
filter(studentdata, Drink == "water")