按列中的值过滤数据框

时间:2011-09-11 21:42:15

标签: r filter dataframe

我正在使用数据集LearnBayes。对于那些想要查看实际数据的人:

install.packages('LearnBayes')

我正在尝试根据列中的值过滤掉行。例如,如果列值是“water”,那么我想要那一行。如果列值是“牛奶”,那么我不想要它。最终,我试图过滤掉所有饮用色谱柱都是“水”的人。

3 个答案:

答案 0 :(得分:195)

子命令不是必需的。只需使用数据帧索引

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

阅读?subset

中的警告
  

这是一种便于交互使用的便利功能。对于   编程最好使用标准的子集函数   '[',特别是对论证的非标准评价   “子集”可能会产生意想不到的后果。

答案 1 :(得分:64)

试试这个:

subset(studentdata, Drink=='water')

应该这样做。

答案 2 :(得分:33)

我以为我会用dplyr解决方案

更新此内容
library(dplyr)    
filter(studentdata, Drink == "water")