我正在尝试使用count()
助手过滤行。
我想要的输出是map %>% count(StudentID) = 3
的所有行。
例如在下面的df中,它应该取出所有带有StudentID 10016和10020的行,因为它们只是这些的2个实例,我想要3。
StudentID StudentGender Grade TermName ScaleName TestRITScore
100 M 9 Fall 2010 Language Usage 217
100 M 10 2011-2012 Language Usage 220
100 M 9 Fall 2010 Reading 210
10016 M 6 Fall 2010 Language Usage 217
10016 M 6 Fall 2010 Mathematics 210
10020 F 7 Fall 2010 Language Usage 210
10020 F 7 Fall 2010 Mathematics 213
10022 F 8 Fall 2010 Language Usage 232
10022 F 9 2011-2012 Language Usage 240
10022 F 8 Fall 2010 Mathematics 242
如果我做:
count(df, StudentID)
那么它只给我一个包含2列的df,但是我想保留我df的所有列。那就是为什么我认为我应该使用过滤器。
最佳答案
我认为count
不是您想要的。尝试使用n()
代替:
df %>%
group_by(StudentID) %>%
filter(n() == 3)
# Source: local data frame [6 x 6]
# Groups: StudentID
#
# StudentID StudentGender Grade TermName ScaleName TestRITScore
# 1 100 M 9 Fall 2010 Language Usage 217
# 2 100 M 10 2011-2012 Language Usage 220
# 3 100 M 9 Fall 2010 Reading 210
# 4 10022 F 8 Fall 2010 Language Usage 232
# 5 10022 F 9 2011-2012 Language Usage 240
# 6 10022 F 8 Fall 2010 Mathematics 242
关于r - 使用带计数的过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26573285/