У меня эксперимент по вождению, в котором участники рулят, чтобы учесть ошибку курса. Вот пример моего фрейма данных: 1
В настоящее время у меня есть код, который устанавливает порог для угла поворота рулевого колеса (SWA), и для каждого ppid и trialn, смотрит вниз, столбец SWA находит первое значение выше этого порога, а затем выбирает соответствующую строку данных, чтобы получите для меня временную метку, чтобы позже рассчитать время отклика участников руля:
SWA_threshold = 0.1
threshold <-workingdata %>%
group_by(ppid,trialn) %>%
filter(abs(SWA) > SWA_threshold) %>%
filter(row_number() == 1) %>%
ungroup() %>%
transmute(ppid, heading, trialn, cameraoffset, SWAThres = SWA,
FirstSWATimeThres = timestamp, ThresWorld_x = World_x,
ThresWorld_z = World_z, ThresWorldYaw = WorldYaw, ThresYawRate_seconds =
YawRate_seconds, ThresYawRateChange = YawRateChange)
Однако я понял, что одноразовое значение для порога не является хорошим - я действительно хочу, чтобы код выбирал соответствующую строку после того, как несколько последовательных значений в столбце SWA превысили порог, т. Е. 5, что означает, что существует последовательный поворот колеса.
У кого-нибудь есть идеи о том, как бы я отредактировал свой код для реализации этого нового типа порога?