计算眼睛的反应潜伏期

时间:2018-09-24 11:40:25

标签: r response-time

我想计算眼睛的反应潜伏期。我想通过测量目标在屏幕上的显示与响应中快速眼睛运动的开始之间的时间差来实现。

下面是一个单一试用示例的图片。紫色线是目标出现在屏幕上的时间段。顶线显示眼睛的Y坐标的位置数据,底线显示速度。 正如您在此处看到的那样,眼球高速向下快速移动是一个扫视。 enter image description here

为了让您了解我的数据的外观,我制作了一个虚拟的data.frame。该块代表您也可以在图中看到的块。现在暂时忽略trial.block。 saccade是一列,告诉您数据是S(saccade)还是F(fixation)。

对于每个单独的试验,如何计算目标开始Iview到第一次扫视开始之间的时间?

非常感谢

library(dplyr)
N = 500

G.df <- data.frame(Iview = seq(N*2),
               cue.condition = rep(c("spatial", "non-spatial"), each = N),
               block = rep(c("fixation.1", "fixation.2", "target.1", "target.2"), each = N/2),
               trial.block = rep(1:4, each = N/2),
               trial.number = rep(1:50, each = 10),
               saccade = sample(c("S","F"), size = 100, replace = T))

1 个答案:

答案 0 :(得分:1)

我不确定我是否正确理解您的要求。对于每个试验,从block == 'target.1'第一次出现到block == 'target.1' & saccade == 'S'第一次出现之间的时间可以这样计算:

G.df %>%
  group_by(trial.number) %>%
  summarise(time_between = Iview[block == "target.1" & saccade == "S"][1] - Iview[block == "target.1"][1])

# A tibble: 50 x 2
   trial.number time_between
          <int>        <int>
 1            1            2
 2            2            1
 3            3            0
 4            4            0
 5            5            1
 6            6            1
 7            7            1
 8            8            1
 9            9            0
10           10            0
# ... with 40 more rows