2

The 'eyetrackingR' package seems promising for the analysis of eye-tracking data but I am encountering an issue when trying to get the data in the appropriate format.

The area of interest (aoi) is set with left, right, bottom, and top bounds, and I want to assess whether the x-y coordinates on any trial fall within the given area. This area differs across participants (based on their screen resolution) but remains the same across trials. I have attempted to simplify the data as much as possible in the first step below.

Here, I create two dataframes. One being the original eye-tracking data with the estimated eye positions in columns 'gaze_x' and 'gaze_y'. Two being the aoi dataset that serves as an input to the 'add_aoi' function later on that assesses whether the estimated position falls within the specified area.

library(eyetrackingR)

datRep <- data.frame(
  stringsAsFactors = FALSE,
  res_x = c(1920L,1920L,1920L),
  res_y = c(969L,969L,969L),
  mid_x = c(960L,960L,960L),
  mid_y = c(484.5,484.5,484.5),
  gaze_x = c(1103.6,1103.6,1103.6),
  gaze_y = c(525.8,525.8,525.8),
  cond = c("fixation","image display","response"),
  pair = c(3L, 3L, 3L),
  trial_time = c(0.00105,0.00105,0.02798),
  selection = c(NA, NA, "right")
)

aoi_left <- data.frame(
  Trial = c(3L,2L, 1L),
  Left = c(0L,0L,0L),
  Right = c(960L,960L,960L),
  Top = c(969L,969L,969L),
  Bottom = c(0L,0L,0L)
)

Now that the sample dataset and the area of interest have been specified, I want to add the latter to the former. This is done according to the example provided here: http://www.eyetracking-r.com/vignettes/preparing_your_data.

datRepAoi <- add_aoi(data = datRep, aoi_dataframe = aoi_left,
                     x_col = "gaze_x", y_col = "gaze_y",
                     aoi_name = "aoi_left",
                     x_min_col = "Left", x_max_col = "Right",
                     y_min_col = "Bottom", y_max_col = "Top")

#> Error in add_aoi(data = datRep, aoi_dataframe = aoi_left, x_col = "gaze_x", : 
Your `aoi_dataframe` has more than one row, but it doesn't have any columns that match the
columns in your data, so it's not clear how to map these rows onto this data.

Created on 2021-04-23 by the reprex package (v2.0.0)

This error persists even if the eye-tracking dataframe's column names are equal to that of the aoi dataframe. Any thoughts as to how this could be solved are greatly appreciated!

Lukas
  • 21
  • 3
  • Your data frame `datRep` is not going to work; you have to run your data through `make_eyetrackingr_data()` to use `add_aoi`. – Kat Apr 23 '21 at 16:47
  • Thanks for your response although I believe this is not entirely true. In order to run make_eyetrackingr_data() the data need to be in the appropriate format, this includes an aoi column. For more detail see http://www.eyetracking-r.com/vignettes/preparing_your_data – Lukas Apr 24 '21 at 04:42

1 Answers1

0

It turns out the trial column of the aoi dataframe needs to correspond to the trial column in the raw dataset (i.e. 'Trial'). This is not the case for any of the other columns of the aoi dataframe (e.g. left, right ...).

Lukas
  • 21
  • 3