## Codebook
### Raw data
* **`workerID`:** String. An arbitrary number to replace the subject's Mechanical Turk Worker ID.
* **`attended_color`:** String. Which color of display objects, `black` or `white,` the subject was instructed to attend to.
* **`unex_window_size`:** Float. What proportion of the total display width the unexpected object crossed (either `.8` or `.2` in this experiment).
* **`unex_time_onscreen`:** Float. How long the unexpected object was visible on screen, in seconds (`5` or `1.5`).
* **`unex_velocity_x`:** Integer. `1` if the unexpected object was crossing left-to-right or `-1` if it was crossing right-to-left.
* **`unex_crossing_direction`:** String. Indicates the horizontal direction of the unexpected object's motion, either left-to-right (`right`) or right-to-left (`left`).
* **`unex_onset_posx`:** Integer. The x coordinate at which the unexpected object appeared.
* **`unex_offset_posx`:** Integer. The x coordinate at which the unexpected object offset.
* **`unex_color:`** String. The hex code of the unexpected object's color.
* **`unex_hue:`** Integer. The hue of the unexpected object in HSV space. Ranges between `0` and `359`.
* **`unex_shape`:** String. The shape of the unexpected object. In this experiment, it is always a `cross`.
* **`bounces_0`, `bounces_1`, `bounces_2`:** Integer. The total number of times the attended objects bounced on trial 1, 2, and 3 (the critical trial), respectively.
* **`count_0`, `count_1`, `count_2`:** Integer. The subject's reported count of the bounces of the attended object on trial 1, 2, and 3 (the critical trial), respectively.
* **`report_notice`:** Boolean. Whether the subject reported having noticed something new on the critical trial.
* **`report_location_x`, `report_location_y`:** Integer. The x and y coordinates at which the subject placed the unexpected object on a .66 scale version of the display when asked where it was when they first noticed it.
* **`report_shape`:** String. The shape the subject reported for the unexpected object.
* **`report_color`:** String. The hex code for the color the subject reported for the unexpected object.
* **`report_hue`:** Integer. The hue that the subject reported for the unexpected object in HSV space. Ranges from `0` to `360.`
* **`age`:** Integer.
* `0`: under 18
* `1`: 18 - 24
* `2`: 25 - 49
* `3`: 50 - 80
* `4`: over 80
* **`vision`:** Integer.
* `0`: Normal vision
* `1`: Corrected-to-normal vision, correction worn during experiment
* `2`: Corrected-to-normal vision, correction not worn during the experiment
* **`farnsworth_seq`:** String. The sequence of tiles the subjects placed in the Farnsworth D-15 task, comma-delimited. The correct sequence is in numerical order from 1 to 15.
* **`farnsworth_c_idx`:** Float. The C-index, or confusion index, for the subject's sequence (Vingrys & King-Smith, 1988).
* **`lagging`:** Boolean. Whether the animations lagged for the subject.
* **`freezing`:** Boolean. Whether the animations froze completely for the subject.
* **`other_issues`:** Boolean. Whether there were any other technical problems.
* **`other_text`:** String. Explanation for the other technical problems.
* **`prior`:** Boolean. Whether the subject had prior experience with an inattentional blindness task.
* **`prior_text`:** String. Explanation of the prior experience with an inattentional blindness task.
### Computed variables and transformations
* `report_hue` is reassigned to `report_hue` modulo 360
* **`color_error`:** Integer. The amount by which the subject was off in their reported hue, in degrees. A positive value indicates clockwise error, and a negative value indicates counter-clockwise error.
* **`color_error_tf`:** Integer. The color error, transformed so that if it exceeds 180 or -180 degrees, 360 is added to or subtracted from it, and the result is taken modulo 360 so that the error is bounded between -180 and 180 degrees. Used for plotting.
* **`absolute_error`:** Integer. The absolute value of the `color_error`.
* **`t0_err`, `t1_err`, `t2_err`:** The subject's unsigned percentage error on each trial, calculated as `actual bounces` - `reported bounces` / `actual bounces`.
* **`correct_shape`:** Boolean. Whether or not the subject correctly reported the unexpected object's shape as a cross.
* **`rescale_report_x`, `rescale_report_y`:** The raw coordinates from the subject's location-clicking task (`report_location_x` and `report_location_y`), scaled back up to "actual size" by dividing by the scale factor of .66.
## Analysis Plan
### Exclusions
Subjects will be excluded from analysis according to the following criteria:
* Subjects reported being younger than 18 years old
* Subjects miscounted the bounces of their assigned set of objects by more than 50% in either direction on two or more trials
* Subjects reported needing vision correction but not wearing it during the experiment
* Subjects have a C-index greater than 1.78 (Vingrys & King-Smith, 1988)
* Subjects reported any technical problems during the experiment
* Subjects reported prior experience with inattentional blindness tasks
### Primary Analyses
#### Noticing by exposure time
We will analyze the rate at which subjects report noticing something new according to the two exposure conditions (1.5s and 5s), with 95% bootstrapped confidence intervals. We will also estimate the difference in self-reported noticing between the two exposure conditions, with 95% bootstrapped confidence intervals.
#### Color accuracy and variance by exposure time and self-reported noticing
We will calculate the circular mean color error and the angular deviation $\sqrt{2(1 - \frac{\bar{R}}{n})}$, where $\bar{R}$ is the resultant length, of the color error for the two exposure conditions.
We will also calculate the difference in the circular mean color error between the two conditions with 95% bootstrapped confidence intervals, as well as the ratio of the angular variances between the two conditions with 95% bootstrapped confidence intervals.
#### Location data
In addition to a raw scatterplot of the location reports, and a density plot over the horizontal positions with a rug plot showing the raw data, we will perform the following analysis on the location reports.
#### Proportion of points on onset versus offset side of fixation
Based on the results from previous experiments, we expect that non-noticing subjects will place the unexpected object in a random cloud around fixation. For these subjects, there ought to be about 50% of location reports falling to the left of fixation and 50% falling to the right, irrespective of condition.
The data should be dramatically different for the noticing subjects, particularly in the 5 second exposure condition. More location reports should fall on the onset side of fixation, going by the data in the previous experiments. Because the window is so narrow in the 1.5s condition, the effect likely will not be as dramatic. We may still be able to observe a slight bias for the onset side, however.
#### Consistent vertical position
As before, we will calculate the mean x and y position of the location points and the standard deviation of the x and y dimensions.
We expect a mean near the vertical midpoint (300) of the display for noticers in all conditions. We also expect a smaller standard deviation amongst the vertical positions for noticers than non-noticers.
If noticing subjects are localizing accurately and only reporting the unexpected object in places in actually appeared, then the standard deviation of the horizontal positions should increase as exposure time does, being smallest in the 1.5s condition and largest in the 5s condition.
#### Average Euclidean distance to reference points
For both conditions, we will calculate the average Euclidean distance and standard deviation to three points: fixation, onset, and offset.
Regardless of condition, the non-noticing values should be similar to each other. Based on the patterns of location reports amongst non-noticers in the previous experiment, the points should be closest to fixation on average.
For the noticers, we should see shorter distances and less variance in the distance to the point that corresponds best to when noticing occurs. If noticing occurs early, the average Euclidean distance to the onset point should be the smallest of the three, with the smallest standard deviation; if it occurs late, then distance to offset should be minimized; and if it tends to occur around fixation, then that distance should be smallest. This will likely be clear in the 5 second condition, but harder to see in the 1.5 second condition due to how narrow the window is.
#### Cumulative distributions
Finally, we will plot the cumulative distribution of the location reports for each condition. These should shift according to when noticing occurs, and we can compare the curves for the reports from subjects who noticed the unexpected object to those who did not. These curves should also demonstrate a dramatic offset by condition in the noticing subjects, due to the offset of the unexpected object's onset and offset point.
### Exploratory Analyses
#### Shape accuracy by exposure time
We will estimate the rate of reporting the shape of the unexpected object correctly, according to time onscreen and reported noticing. We will also calculate the difference between conditions, with 95% confidence intervals.
#### Color accuracy and variance by exposure time, self-reported noticing, and correct shape identification
We will calculate the circular mean color error and angular deviation of that error according to exposure time, reported noticing of the unexpected object, and correct reporting of the shape.
We will also bootstrap the difference in circular mean color error and the ratio of the angular variance in color error for:
* Self-reported noticers who correctly report the shape and self-reported noticers who incorrectly report the shape for the 1.5s and 5s conditions
* Self-reported noticers who got the shape correct in the 1.5s condition versus noticers who got the shape right in the 5s condition, and noticers who got the shape wrong in the 1.5s condition versus noticers who got the shape wrong in the 5s condition
## Executing the analysis script
The analysis script and data files are provided with an accompanying R project. To run this script, at minimum one needs the following (versions under which the script was developed shown in parentheses):
* R installed (3.5.3)
* The following R packages installed:
* dplyr (0.7.6)
* purrr (0.2.5)
* tidyr (0.8.1)
* ggplot2 (3.0.0)
* viridis (0.5.1)
* ggforce (0.2.2)
* circular (0.4-93)
* RStudio (strongly encouraged)
With RStudio installed, one can simply unzip the Analysis archive, open the .Rproj file, and hit `Source` to run the entire analysis from start to finish.
## Pilot Data
Prior to the main experiment, we ran two pilot studies testing different color intensities to ensure noticing was not at ceiling. In the first pilot, the saturation and value were 100% and 75%, respectively, for each hue. This let to noticing rates above 90%, so we ran another pilot in which the saturation and value were set to 50%. This brought noticing rates down to about 50% in the pilot, and these are the colors we used in the main experiment. The pilot data can be found in the `Data` folder along with the data for the main experiment.