我需要添加一个列"忘记"这将区分是否有超过2个错误的命中,它应该包含"是",如果小于或等于2次尝试,那么" no"
我先分组,然后尝试添加"是"和"不"值
library(dplyr)
p <- group_by(d, Participant, Session, Condition, Block, PassedIconName)
for (i in 1:nrow(p)){
if (p$WrongHitsCount[i] >2){
p$Forget[i] <- "yes"
} else {
p$Forget[i] <-"no"
}
}
但是这段代码放了&#34;是&#34;对于数据文件的第一次尝试,对于其余的,它放置&#34; no&#34;。我需要&#34;不&#34;在所有实例中,图标被错误地击中次数超过2次。
你能告诉我它是如何实现的吗?
答案 0 :(得分:0)
坚持dplyr
;)
d %>%
mutate(forgets = ifelese(WrongHitsCount > 2, "yes", "no")) ->
dmod
或者如果你想由小组来做。你的简单for循环不会服从group_by
。在问题中你想要做什么样的聚合并不是很清楚,所以我分别对每一行使用> 2
条件(或者你可能想要总结错误的命中然后与2进行比较):
d %>%
mutate(condition_hit = WrongHitsCount > 2) %>%
group_by(Participant, Session, Condition, Block, PassedIconName) %>%
summarise(condition_hit = sum(condition_hit)) %>%
mutate(forgets = ifelese(condition_hit > 1, "yes", "no")) %>%
select(-condition_hit) ->
dmod