Eye-Tracking Data Analysis

A set of tools that address tasks along the pipeline from raw data to analysis and visualization for eye-tracking data. Offers several popular types of analyses, including linear and growth curve time analyses, onset-contingent reaction time analyses, as well as several non-parametric bootstrapping approaches.

  • Jacob Dink (jacobwdink@gmail.com)
  • Brock Ferguson (brock.ferguson@gmail.com)

This package is designed to make dealing with eye-tracking data easier. It addresses tasks along the pipeline from raw data to analysis and visualization. It offers several popular types of analyses, including growth-curve analysis, onset-contingent reaction time analyses, as well as several non-parametric bootstrapping approaches.


To install from CRAN:


To load:


For the development version (make sure you have run install.packages("devtools") to get devtools first):


EyetrackingR only requires that your data is in an R dataframe and has a few necessary columns. For that reason, eyetrackingR is compatible with any eyetracker, so long as you can export your data to a table and import it into R. See the preparing your data vignette.

Once your data is in R, you can prepare it for eyetrackingR by running the make_eyetrackingr_data function, e.g.:

data <- make_eyetrackingr_data(your_original_data, 
                       participant_column = "ParticipantName",
                       trial_column = "Trial",
                       time_column = "Timestamp",
                       trackloss_column = "TrackLoss",
                       treat_non_aoi_looks_as_missing = TRUE

From here, all of eyetrackingR's functionality becomes available for this data. Check out the eyetrackingR workflow to get an accesible overview of this functionality, or check out the vignettes for guides on how to clean your data, visualize it, and perform analyses.

Copyright (c) 2015, Jacob Dink and Brock Ferguson

Released under the MIT License (see LICENSE for details)



Changes in 0.1.6:

  • Allows for treatment-coded variables in lm or lmer time-bin or cluster analysis, via the "treatment_level" argument.

Changes in 0.1.5:

  • Fixes compatibility issue with latest version of lme4 package.

Changes in 0.1.4:

  • A variety of important bug-fixes for onset-contingent analysis. The rest of the package is unchanged.

Changes in 0.1.3:

  • The analyze_time_bins and therefore cluster-analyses have been re-written internally. Full support for (g)lm, (g)lmer, wilcox. Support for interaction terms/predictors. Experimental support for using boot-splines within cluster analysis.
  • P-value adjustment for multiple comparisons is now supported in analyze_time_bins
  • Easier to use AOI as a predictor/covariate in analyze_time_bins and cluster analyses
  • The functions make_boot_splines_data and analyze_boot_splines are now deprecated. To perform this type of analysis, use test="boot_splines" in analyze_time_bins.
  • Warnings and errors are now given in the returned dataframe for analyze_time_bins.
  • Fixed plotting methods for time-cluster data
  • The analyze_time_clusters function now checks that the extra arguments passed to it are the same as the arguments passed
  • Fixed small bug in make_onset_data
  • Added simulate_eyetrackingr_data function to generate fake data for simulations.

Changes in 0.1.1:

  • Important bug-fix in clean_by_trackloss. Previously did not work for certain column names.
  • Important bug-fix in make_eyetrackingr_data. Previously did not work correctly with treat_non_aoi_as_missing = TRUE.
  • Important bug-fix in analyze_time_clusters: previously did not compute permutation-distribution correctly.
  • Can specify any arbitrary dependent-variable for make_time_window_data or make_time_sequence_data to summarize. This DV can then be plotted and used in downstream functions (like analyze_time_bins or make_time_cluster_data)
  • Bug-fix in error/warning reporting in analyze_time_bins and functions that call this (e.g make_time_cluster_data).
  • Compatible with ggplot2 2.0
  • Small bug fix in cluster analyses functions related to the dots (...) arguments
  • Added support for parallelization in analyze_time_clusters, allowing the user to take advantage of multiple cores to speed up this relatively slow function.
  • Added get_time_clusters for getting information about clusters in a data.frame (rather than a printed summary-- better for programming).
  • Small bug-fixes in make-boot-splines.
  • Changed how cluster-summaries are displayed

Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.


0.1.6 by Jacob Dink, a year ago


Report a bug at https://github.com/jwdink/eyetrackingR/issues

Browse source code at https://github.com/cran/eyetrackingR

Authors: Jacob Dink [aut, cre], Brock Ferguson [aut]

Documentation:   PDF Manual  

MIT + file LICENSE license

Imports broom, dplyr, ggplot2, lazyeval, zoo, tidyr

Suggests pbapply, knitr, lme4, Matrix, testthat, rmarkdown, doMC, foreach

See at CRAN