【发布时间】:2015-07-12 03:28:36
【问题描述】:
我有以下数据集:(样本)
Team Job Question Answer
1 1 1 2 1
2 1 1 3a 2
3 1 1 3b 2
4 1 1 4a 1
5 1 1 4b 1
我有 21 个团队,所以行数很多。我正在尝试过滤在实验中表现良好的团队行(使用 dplyr 包):
q10best <- filter(quest,Team==c(2,4,6,10,13,17,21))
但它给了我混乱的数据和许多缺失的行。 另一方面,当我使用:
q10best <- filter(quest,Team==2 | Team==4 | Team==6 | Team==10 | Team==13 | Team==17 | Team==21)
它为我提供了我想要的正确数据集。有什么区别?我在第一个命令中做错了什么? 谢谢
【问题讨论】:
-
使用
Team %in% c(...)而不是Team==c(...)。==表示完全相等,因此它正在寻找与您的整个字符向量完全匹配的值。%in%表示查找属于该向量的值。 -
@scoa 如果你认为你应该回答这个问题