aat_compute {AATtools}R Documentation

Compute simple AAT scores

Description

Compute simple AAT scores, with optional outlier exclusion and error trial recoding.

Usage

aat_compute(
  ds,
  subjvar,
  pullvar,
  targetvar = NULL,
  rtvar,
  algorithm = c("aat_doublemeandiff", "aat_doublemediandiff", "aat_dscore",
    "aat_dscore_multiblock", "aat_regression", "aat_standardregression",
    "aat_doublemeanquotient", "aat_doublemedianquotient", "aat_singlemeandiff",
    "aat_singlemediandiff"),
  trialdropfunc = c("prune_nothing", "trial_prune_3SD", "trial_prune_3MAD",
    "trial_prune_SD_dropcases", "trial_recode_SD", "trial_prune_percent_subject",
    "trial_prune_percent_sample", "trial_prune_grubbs"),
  errortrialfunc = c("prune_nothing", "error_replace_blockmeanplus",
    "error_prune_dropcases"),
  ...
)

Arguments

ds

a long-format data.frame

subjvar

column name of subject variable

pullvar

column name of pull/push indicator variable, must be numeric or logical (where pull is 1 or TRUE)

targetvar

column name of target stimulus indicator, must be numeric or logical (where target is 1 or TRUE)

rtvar

column name of reaction time variable

algorithm

Function (without brackets or quotes) to be used to compute AAT scores. See Algorithms for a list of usable algorithms.

trialdropfunc

Function (without brackets or quotes) to be used to exclude outlying trials in each half. The way you handle outliers for the reliability computation should mimic the way you do it in your regular analyses. It is recommended to exclude outlying trials when computing AAT scores using the mean double-dfference scores and regression scoring approaches, but not when using d-scores or median double-difference scores.

  • prune_nothing excludes no trials (default)

  • trial_prune_3SD excludes trials deviating more than 3SD from the mean per participant.

  • trial_prune_grubbs applies a Grubbs' test to the data, removing one outlier at a time until the test is no longer significant.

  • trial_prune_SD_dropcases removes trials deviating more than a specific number of standard deviations from the participant's mean, and removes participants with an excessive percentage of outliers. Required arguments:

    • trialsd - trials deviating more than trialsd standard deviations from the participant's mean are excluded (optional; default is 3)

    • maxoutliers - participants with a higher percentage of outliers are removed from the data. (optional; default is .15)

  • trial_recode_SD recodes outlying reaction times to the nearest non-outlying value, with outliers defined as reaction times deviating more than a certain number of standard deviations from the participant's mean. Required argument:

    • trialsd - trials deviating more than this many standard deviations from the mean are classified as outliers.

  • trial_prune_percent_subject and trial_prune_percent_sample remove trials below and/or above certain percentiles, on a subject-by-subject basis or sample-wide, respectively. The following arguments are available:

    • lowerpercent and uppperpercent (optional; defaults are .01 and .99).

errortrialfunc

Function (without brackets or quotes) to apply to an error trial.

  • prune_nothing removes no errors (default).

  • error_replace_blockmeanplus replaces error trial reaction times with the block mean, plus an arbitrary extra quantity. If used, the following additional arguments are required:

    • blockvar - Quoted name of the block variable (mandatory)

    • errorvar - Quoted name of the error variable, where errors are 1 or TRUE and correct trials are 0 or FALSE (mandatory)

    • errorbonus - Amount to add to the reaction time of error trials. Default is 0.6 (recommended by Greenwald, Nosek, & Banaji, 2003)

  • error_prune_dropcases removes errors and drops participants if they have more errors than a given percentage. The following arguments are available:

    • errorvar - Quoted name of the error variable, where errors are 1 or TRUE and correct trials are 0 or FALSE (mandatory)

    • maxerrors - participants with a higher percentage of errors are excluded from the dataset. Default is .15.

...

Other arguments, to be passed on to the algorithm or outlier rejection functions (see arguments above)

Examples

#Compute the correlation between relevant-feature and irrelevant-feature AAT scores
ds<-erotica[erotica$correct==1,]
relevant <- aat_compute(ds=ds[ds$is_irrelevant==0,],
                        pullvar="is_pull",targetvar="is_target",
                        rtvar="RT",subjvar="subject",
                        trialdropfunc="trial_prune_3SD",
                        algorithm="aat_doublemediandiff")

irrelevant <- aat_compute(ds=ds[ds$is_irrelevant==1,],
                        pullvar="is_pull",targetvar="is_target",
                        rtvar="RT",subjvar="subject",
                        trialdropfunc="trial_prune_3SD",
                        algorithm="aat_doublemediandiff")

comparison.df <- merge(relevant, irrelevant, by = "subject")
cor(comparison.df$ab.x, comparison.df$ab.y)
# 0.1145726

[Package AATtools version 0.0.2 Index]