Мои данные не генерируются в хронологическом порядке, однако я хочу вычислить точность, когда участник отвечает в желаемом диапазоне времени.мой фрейм данных выглядит так (простой пример)
a<-data.frame("time1"=c(6.28,17,49,72), "target"=c(5.8,17.3,71.5,85),"catch"=c(8,48.5,68,80))
Я хочу знать, происходит ли time1
(время отклика субъекта) в диапазоне target
время + дополнительная длительность 0,9, если это так, точность =1.Однако time1
не в правильном порядке времени, так как участники могут также ответить на catch
, в этом случае точность = 0.С другой стороны, участники могут отвечать правильно, но не в одном ряду target
(например: a$time1[4]
= 72 - правильный ответ, поскольку он расположен в правильном диапазоне: 72,4 (a$target[3]
: 71,5 + 0,9)но не в той же строке.
Вот ожидаемый результат (4-й столбец):
outcome<-data.frame("time1"=c(6.28,17,49,72), "target"=c(5.8,17.3,71.5,85),"catch"=c(8,48.5,68,80),
"expOutcome.ACC"=c(1,1,0,1))
Любой совет, чтобы узнать, правильно ли дан ответ на каждое значение time1, просматривая два столбца target
и catch
? Будем весьма признательны, если сможете использовать пакет tidyverse
/ purr
для решения проблемы.
Большое спасибо!