如何过滤掉分数不好的参与者?

How do I filter out participants with a bad score?

我想过滤掉正确率低于 45% 的参与者。我使用管道按参与者分组,然后尝试这样过滤:

# Remove participants with > 45% or more mistakes
  dat <- dat %>%
    group_by(participant) %>%
      filter(sum(key_resp.corr) < (nrow(dat) * 0.65))
当参与者给出正确答案时,

Key_resp.corr 为 1。不幸的是,这似乎不起作用。有谁知道我该怎么做?

而不是 nrow(dat),它将是 n(),其中 returns 分组数据的行数,而 nrow(dat) returns 数字整个数据集的行数

library(dplyr)
dat %>%
    group_by(participant) %>%
    filter(sum(key_resp.corr, na.rm = TRUE) < (n() * 0.65)) %>%
    ungroup

或者用 mean

创建 filter
dat %>%
   group_by(participant) %>%
   filter(mean(key_resp.corr, na.rm = TRUE) < 0.65) %>%
   ungroup