Collapse time across our entire window and return a dataframe ready for analyses

  aois = NULL,
  predictor_columns = NULL,
  other_dv_columns = NULL,
  summarize_by = NULL



The output of make_eyetrackingr_data


Which AOI(s) is/are of interest? Defaults to all specified in make_eyetracking_r_data


Which columns indicate predictor vars, and therefore should be preserved in grouping operations?


Within each participant/trial (or whatever is specified in summarize_by), this function will calculate not only proportion-looking, but also the mean of any columns specified here.


Should the data be summarized along, e.g., participants, items, etc.? If so, give column names here. If left blank, will leave trials distinct. The former is needed for more traditional analyses (t.test, ANOVA), while the latter is preferable for mixed-effects models (lmer)


Data with proportion-looking and transformations (logit, arc-sin, etc.)


Aside from proportion looking (Prop), this function returns several columns useful for subsequent analysis:

  • LogitAdjusted - The logit is defined as log( Prop / (1 - Prop) ). This transformation attempts to map bounded 0,1 data to the real number line. Unfortunately, for data that is exactly 0 or 1, this is undefined. One solution is add a very small value to any datapoints that equal 0, and subtract a small value to any datapoints that equal 1 (we use 1/2 the smallest nonzero value for this adjustment).

  • Elog - Another way of calculating a corrected logit transformation is to add a small value epsilon to both the numerator and denominator of the logit equation (we use 0.5).

  • Weights - These attempt to further correct the Elog transformation, since the variance of the logit depends on the mean. They can be used in a mixed effects model by setting the weights=Weights in lmer (note that this is the reciprocal of the weights calculated in this empirical logit walkthrough, so you do *not* set weights = 1/Weights as done there.)

  • ArcSin - The arcsine-root transformation of the raw proportions, defined as asin(sqrt(Prop))


data <- make_eyetrackingr_data(word_recognition,
                               participant_column = "ParticipantName",
                               trial_column = "Trial",
                               time_column = "TimeFromTrialOnset",
                               trackloss_column = "TrackLoss",
                               aoi_columns = c('Animate','Inanimate'),
                               treat_non_aoi_looks_as_missing = TRUE

# generate a dataset summarizing an AOI (Animate) by ParticipantName
response_window_agg_by_sub <- make_time_window_data(data,
                                                    summarize_by = "ParticipantName"

if (FALSE) {
# optionally included additional columns for use as predictors
# in later statistical models
response_window_agg_by_sub <- make_time_window_data(data,
                                                    summarize_by = "ParticipantName"

# plot the aggregated data for sanity check
plot(response_window_agg_by_sub, predictor_columns="Age", dv = "LogitAdjusted")