Rows: 44775 Columns: 12
── Column specification ────────────────────────────────────────────────────────
Delimiter: ","
chr (8): prolific_id, trial_type, block_type, background_stimulus, deviant_s...
dbl (4): total_rt, block_number, trial_number, total_trial_number
ℹ Use `spec()` to retrieve the full column specification for this data.
ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
No duplicate combinations found of: prolific_id, trial_type, total_rt, block_type, block_number, background_stimulus, deviant_stimulus, background_type, deviant_type, ... and 6 other variables
output:
- no duplicates
- missing data: due to missing trials in the raw data
- first_fam (0.55%)
- last_fam (0.35%)
- test (0.22%)
- dishab (0.55%) * a coincidence that number of missing trial for first_fam and dishab is the same
DataExplorer::plot_histogram(exp2_core)
DataExplorer::plot_missing(exp2_core)
DataExplorer::plot_qq(exp2_core)
Warning: Removed 188 rows containing non-finite outside the scale range
(`stat_qq()`).
Warning: Removed 188 rows containing non-finite outside the scale range
(`stat_qq_line()`).
skimr::skim(exp2_core)
Data summary
Name
exp2_core
Number of rows
11232
Number of columns
11
_______________________
Column type frequency:
character
4
numeric
7
________________________
Group variables
None
Variable type: character
skim_variable
n_missing
complete_rate
min
max
empty
n_unique
whitespace
prolific_id
0
1
24
24
0
468
0
violation_type
0
1
4
10
0
5
0
bg_image
0
1
21
26
0
128
0
dv_image
0
1
21
26
0
128
0
Variable type: numeric
skim_variable
n_missing
complete_rate
mean
sd
p0
p25
p50
p75
p100
hist
block_number
0
1.00
12.50
6.92
1.00
6.75
12.50
18.25
24.00
▇▇▆▇▇
total_trial_number
0
1.00
4.00
1.64
2.00
2.00
4.00
6.00
6.00
▇▁▇▁▇
first_fam
62
0.99
7.72
0.73
6.22
7.15
7.68
8.24
9.92
▃▇▇▃▁
last_fam
39
1.00
7.46
0.74
6.22
6.84
7.35
8.00
9.92
▇▇▆▂▁
test
25
1.00
7.44
0.72
6.21
6.85
7.33
7.96
9.93
▇▇▆▂▁
dishab
62
0.99
-0.02
0.50
-3.20
-0.23
0.00
0.21
2.95
▁▁▇▁▁
onefam
0
1.00
0.34
0.47
0.00
0.00
0.00
1.00
1.00
▇▁▁▁▅
2 unique pairs
## unique combinations of stimuli pairs in test trialsexp2_unique_stimuli_pairs <- exp2_test_only %>%group_by(bg_image, dv_image, violation_type) %>%summarise(count =n(), .groups ="drop") %>%mutate(pairID =row_number())
### number of unique combinations of deviant trials used in study:nrow(filter(exp2_unique_stimuli_pairs, violation_type !="background"))
[1] 2674
In theory there are 1282+1282+12815+1282=2688 unique pairs
### number of background trials used in studynrow(filter(exp2_unique_stimuli_pairs, violation_type =="background"))
[1] 128
In theory there are 128 background trial stimuli.
2.1 pose
within_POP_ID: 1 (left to right), 2 (right to left)
## combing across identityexp2_pairs_animacy_noidentity <-process_pairs(filter(exp2_unique_stimuli_pairs, violation_type =="animacy"), ignore_violation_types =c("identity"))check_single_within_PoP(exp2_pairs_animacy_noidentity) # 0, but there are only 4 pair_of_pair_IDs.
[1] 0
## combining across pose and numberexp2_pairs_animacy_nopose_nonumber <-process_pairs(filter(exp2_unique_stimuli_pairs, violation_type =="animacy"), ignore_violation_types =c("pose", "number"))check_single_within_PoP(exp2_pairs_animacy_nopose_nonumber) # 9
[1] 9
2.4 identity (archive)
## no ignored typesexp2_pairs_identity <-process_pairs(filter(exp2_unique_stimuli_pairs, violation_type =="identity"))
Warning in process_pairs(filter(exp2_unique_stimuli_pairs, violation_type == :
NAs introduced by coercion
ABBA_pose %>%group_by(change_direction) %>% rstatix::get_summary_stats(dishab, type ="common")
# A tibble: 2 × 11
change_direction variable n min max median iqr mean sd se
<chr> <fct> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
1 left to right dishab 939 -2.30 2.92 -0.029 0.394 -0.074 0.453 0.015
2 right to left dishab 917 -2.54 2.52 -0.028 0.433 -0.078 0.526 0.017
# ℹ 1 more variable: ci <dbl>
ABBA_pose %>%group_by(change_direction, total_trial_number) %>% rstatix::get_summary_stats(dishab, type ="common")
# A tibble: 6 × 12
total_trial_number change_direction variable n min max median iqr
<dbl> <chr> <fct> <dbl> <dbl> <dbl> <dbl> <dbl>
1 2 left to right dishab 320 -2.30 0.962 -0.238 0.588
2 4 left to right dishab 307 -1.97 1.56 0.008 0.345
3 6 left to right dishab 312 -1.79 2.92 0.02 0.281
4 2 right to left dishab 324 -2.54 1.32 -0.228 0.663
5 4 right to left dishab 287 -1.89 1.78 0.018 0.329
6 6 right to left dishab 306 -1.61 2.52 0.043 0.355
# ℹ 4 more variables: mean <dbl>, sd <dbl>, se <dbl>, ci <dbl>
ABBA_pose %>%ggplot(aes(x =as.factor(change_direction), y = dishab)) +geom_boxplot(outlier.color ="red", outlier.shape =1, outlier.alpha =0.2) +geom_point(alpha =0.1) +stat_summary(fun ="mean", geom ="point", position =position_dodge(.9), color ="red") +stat_summary(fun.data ="mean_se", geom ="errorbar", width =0.2, position =position_dodge(.9), color ="red") +facet_grid(~total_trial_number) +labs(x ="Direction of Change",y ="Dishabituation (log(test) - log(last fam))",title ="Dishabituation by different pairs of stimuli (pose change)") +theme(axis.text.x =element_text(angle =45, hjust =1)) +theme_bw()
ABBA_pose$change_direction_dc <-as.factor(ABBA_pose$change_direction)contrasts(ABBA_pose$change_direction_dc) <-contr.sum(2)/2ABBA_pose$onefam_dc <-as.factor(ABBA_pose$onefam)ABBA_pose$total_trial_number_c <-scale(ABBA_pose$total_trial_number, center =TRUE, scale =FALSE)ABBA_pose$block_number_c <-scale(ABBA_pose$block_number, center =TRUE, scale =FALSE)ABBA_pose$total_trial_number_log <-log(ABBA_pose$total_trial_number)ABBA_pose$block_number_log <-log(ABBA_pose$block_number)ABBA_pose$total_trial_number_log_c <-scale(ABBA_pose$total_trial_number_log, center =TRUE, scale =FALSE)ABBA_pose$block_number_log_c <-scale(ABBA_pose$block_number_log, center =TRUE, scale =FALSE)
Warning: Returning more (or less) than 1 row per `summarise()` group was deprecated in
dplyr 1.1.0.
ℹ Please use `reframe()` instead.
ℹ When switching from `summarise()` to `reframe()`, remember that `reframe()`
always returns an ungrouped data frame and adjust accordingly.
Warning: Returning more (or less) than 1 row per `summarise()` group was deprecated in
dplyr 1.1.0.
ℹ Please use `reframe()` instead.
ℹ When switching from `summarise()` to `reframe()`, remember that `reframe()`
always returns an ungrouped data frame and adjust accordingly.
Some of the variables were in matrix-format - probably you used
`scale()` on your data?
If so, and you get an error, please try `datawizard::standardize()` to
standardize your data.
Some of the variables were in matrix-format - probably you used
`scale()` on your data?
If so, and you get an error, please try `datawizard::standardize()` to
standardize your data.
check_model(m_pose_11)
Some of the variables were in matrix-format - probably you used
`scale()` on your data?
If so, and you get an error, please try `datawizard::standardize()` to
standardize your data.
Some of the variables were in matrix-format - probably you used
`scale()` on your data?
If so, and you get an error, please try `datawizard::standardize()` to
standardize your data.
check_model(m_pose_10)
Some of the variables were in matrix-format - probably you used
`scale()` on your data?
If so, and you get an error, please try `datawizard::standardize()` to
standardize your data.
Some of the variables were in matrix-format - probably you used
`scale()` on your data?
If so, and you get an error, please try `datawizard::standardize()` to
standardize your data.
check_model(m_pose_9)
Some of the variables were in matrix-format - probably you used
`scale()` on your data?
If so, and you get an error, please try `datawizard::standardize()` to
standardize your data.
Some of the variables were in matrix-format - probably you used
`scale()` on your data?
If so, and you get an error, please try `datawizard::standardize()` to
standardize your data.
check_model(m_pose_7)
Some of the variables were in matrix-format - probably you used
`scale()` on your data?
If so, and you get an error, please try `datawizard::standardize()` to
standardize your data.
Some of the variables were in matrix-format - probably you used
`scale()` on your data?
If so, and you get an error, please try `datawizard::standardize()` to
standardize your data.
Warning in Analyze.model(focal.predictors, mod, xlevels, default.levels, : the
predictors total_trial_number_c, block_number_c are one-column matrices that
were converted to vectors
Warning in Analyze.model(focal.predictors, mod, xlevels, default.levels, : the
predictors total_trial_number_c, block_number_c are one-column matrices that
were converted to vectors
Warning in Analyze.model(focal.predictors, mod, xlevels, default.levels, : the
predictors total_trial_number_c, block_number_c are one-column matrices that
were converted to vectors
Warning in Analyze.model(focal.predictors, mod, xlevels, default.levels, : the
predictors total_trial_number_c, block_number_c are one-column matrices that
were converted to vectors
4 ABBA: NUMBER
ABBA_number <- exp2_core %>%filter(violation_type =="number") %>%left_join(exp2_pairs_number, by =c("violation_type", "bg_image", "dv_image"))
4.1 DA check
# data quality check# DataExplorer::create_report(ABBA_number)DataExplorer::plot_histogram(ABBA_number)
DataExplorer::plot_missing(ABBA_number)
DataExplorer::plot_qq(ABBA_number)
Warning: Removed 41 rows containing non-finite outside the scale range
(`stat_qq()`).
Warning: Removed 41 rows containing non-finite outside the scale range
(`stat_qq_line()`).
# clean up and prep datasetABBA_number <- ABBA_number %>%filter(!is.na(first_fam) &!is.na(dishab))
4.1.1 summary of mean dishab
ABBA_number %>%group_by(change_direction) %>% rstatix::get_summary_stats(dishab, type ="common")
# A tibble: 2 × 11
change_direction variable n min max median iqr mean sd se
<chr> <fct> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
1 pair to single dishab 943 -3.20 1.28 -0.048 0.416 -0.117 0.453 0.015
2 single to pair dishab 909 -2.46 2.39 0.003 0.404 -0.035 0.464 0.015
# ℹ 1 more variable: ci <dbl>
ABBA_number %>%group_by(change_direction, total_trial_number) %>% rstatix::get_summary_stats(dishab, type ="common")
# A tibble: 6 × 12
total_trial_number change_direction variable n min max median iqr
<dbl> <chr> <fct> <dbl> <dbl> <dbl> <dbl> <dbl>
1 2 pair to single dishab 311 -3.20 0.94 -0.306 0.622
2 4 pair to single dishab 312 -1.10 1.28 -0.016 0.289
3 6 pair to single dishab 320 -1.89 1.28 0.026 0.314
4 2 single to pair dishab 314 -2.46 1.15 -0.223 0.588
5 4 single to pair dishab 286 -1.95 2.39 0.032 0.298
6 6 single to pair dishab 309 -0.927 1.99 0.074 0.327
# ℹ 4 more variables: mean <dbl>, sd <dbl>, se <dbl>, ci <dbl>
ABBA_number %>%ggplot(aes(x =as.factor(change_direction), y = dishab)) +geom_boxplot(outlier.color ="red", outlier.shape =1, outlier.alpha =0.2) +geom_point(alpha =0.1) +stat_summary(fun ="mean", geom ="point", position =position_dodge(.9), color ="red") +stat_summary(fun.data ="mean_se", geom ="errorbar", width =0.2, position =position_dodge(.9), color ="red") +facet_grid(~total_trial_number) +labs(x ="Direction of Change",y ="Dishabituation (log(test) - log(last fam))",title ="Dishabituation by different pairs of stimuli (number change)") +theme(axis.text.x =element_text(angle =45, hjust =1)) +theme_bw()
ABBA_number$change_direction_dc <-as.factor(ABBA_number$change_direction)contrasts(ABBA_number$change_direction_dc) <-contr.sum(2)/2ABBA_number$onefam_dc <-as.factor(ABBA_number$onefam)ABBA_number$total_trial_number_c <-scale(ABBA_number$total_trial_number, center =TRUE, scale =FALSE)ABBA_number$block_number_c <-scale(ABBA_number$block_number, center =TRUE, scale =FALSE)ABBA_number$total_trial_number_log <-log(ABBA_number$total_trial_number)ABBA_number$block_number_log <-log(ABBA_number$block_number)ABBA_number$total_trial_number_log_c <-scale(ABBA_number$total_trial_number_log, center =TRUE, scale =FALSE)ABBA_number$block_number_log_c <-scale(ABBA_number$block_number_log, center =TRUE, scale =FALSE)
Warning: Returning more (or less) than 1 row per `summarise()` group was deprecated in
dplyr 1.1.0.
ℹ Please use `reframe()` instead.
ℹ When switching from `summarise()` to `reframe()`, remember that `reframe()`
always returns an ungrouped data frame and adjust accordingly.
Warning: Returning more (or less) than 1 row per `summarise()` group was deprecated in
dplyr 1.1.0.
ℹ Please use `reframe()` instead.
ℹ When switching from `summarise()` to `reframe()`, remember that `reframe()`
always returns an ungrouped data frame and adjust accordingly.
Some of the variables were in matrix-format - probably you used
`scale()` on your data?
If so, and you get an error, please try `datawizard::standardize()` to
standardize your data.
Some of the variables were in matrix-format - probably you used
`scale()` on your data?
If so, and you get an error, please try `datawizard::standardize()` to
standardize your data.
check_model(m_number_11)
Some of the variables were in matrix-format - probably you used
`scale()` on your data?
If so, and you get an error, please try `datawizard::standardize()` to
standardize your data.
Some of the variables were in matrix-format - probably you used
`scale()` on your data?
If so, and you get an error, please try `datawizard::standardize()` to
standardize your data.
check_model(m_number_10)
Some of the variables were in matrix-format - probably you used
`scale()` on your data?
If so, and you get an error, please try `datawizard::standardize()` to
standardize your data.
Some of the variables were in matrix-format - probably you used
`scale()` on your data?
If so, and you get an error, please try `datawizard::standardize()` to
standardize your data.
check_model(m_number_9)
Some of the variables were in matrix-format - probably you used
`scale()` on your data?
If so, and you get an error, please try `datawizard::standardize()` to
standardize your data.
Some of the variables were in matrix-format - probably you used
`scale()` on your data?
If so, and you get an error, please try `datawizard::standardize()` to
standardize your data.
check_model(m_number_3)
Some of the variables were in matrix-format - probably you used
`scale()` on your data?
If so, and you get an error, please try `datawizard::standardize()` to
standardize your data.
Some of the variables were in matrix-format - probably you used
`scale()` on your data?
If so, and you get an error, please try `datawizard::standardize()` to
standardize your data.
Warning in Analyze.model(focal.predictors, mod, xlevels, default.levels, : the
predictors total_trial_number_c, block_number_c are one-column matrices that
were converted to vectors
Warning in Analyze.model(focal.predictors, mod, xlevels, default.levels, : the
predictors total_trial_number_c, block_number_c are one-column matrices that
were converted to vectors
Warning in Analyze.model(focal.predictors, mod, xlevels, default.levels, : the
predictors total_trial_number_c, block_number_c are one-column matrices that
were converted to vectors
Warning in Analyze.model(focal.predictors, mod, xlevels, default.levels, : the
predictors total_trial_number_c, block_number_c are one-column matrices that
were converted to vectors
5 ABBA: ANIMACY
# clean up and prep datasetABBA_animacy_noidentity <- exp2_core %>%filter(violation_type =="animacy") %>%mutate(bg_image =str_replace_all(bg_image, "[0-9]+", ""),dv_image =str_replace_all(dv_image, "[0-9]+", "") ) %>%left_join(exp2_pairs_animacy_noidentity, by =c("violation_type", "bg_image", "dv_image"))
5.1 DA check
# data quality check# DataExplorer::create_report(ABBA_animacy)DataExplorer::plot_histogram(ABBA_animacy_noidentity)
Some of the variables were in matrix-format - probably you used
`scale()` on your data?
If so, and you get an error, please try `datawizard::standardize()` to
standardize your data.
Some of the variables were in matrix-format - probably you used
`scale()` on your data?
If so, and you get an error, please try `datawizard::standardize()` to
standardize your data.
check_model(m_number_11)
Some of the variables were in matrix-format - probably you used
`scale()` on your data?
If so, and you get an error, please try `datawizard::standardize()` to
standardize your data.
Some of the variables were in matrix-format - probably you used
`scale()` on your data?
If so, and you get an error, please try `datawizard::standardize()` to
standardize your data.
check_model(m_number_10)
Some of the variables were in matrix-format - probably you used
`scale()` on your data?
If so, and you get an error, please try `datawizard::standardize()` to
standardize your data.
Some of the variables were in matrix-format - probably you used
`scale()` on your data?
If so, and you get an error, please try `datawizard::standardize()` to
standardize your data.
check_model(m_number_9)
Some of the variables were in matrix-format - probably you used
`scale()` on your data?
If so, and you get an error, please try `datawizard::standardize()` to
standardize your data.
Some of the variables were in matrix-format - probably you used
`scale()` on your data?
If so, and you get an error, please try `datawizard::standardize()` to
standardize your data.
check_model(m_number_7)
Some of the variables were in matrix-format - probably you used
`scale()` on your data?
If so, and you get an error, please try `datawizard::standardize()` to
standardize your data.
Some of the variables were in matrix-format - probably you used
`scale()` on your data?
If so, and you get an error, please try `datawizard::standardize()` to
standardize your data.
Warning in Analyze.model(focal.predictors, mod, xlevels, default.levels, : the
predictors total_trial_number_c, block_number_c are one-column matrices that
were converted to vectors
Warning in Analyze.model(focal.predictors, mod, xlevels, default.levels, : the
predictors total_trial_number_c, block_number_c are one-column matrices that
were converted to vectors
Warning in Analyze.model(focal.predictors, mod, xlevels, default.levels, : the
predictors total_trial_number_c, block_number_c are one-column matrices that
were converted to vectors
Warning in Analyze.model(focal.predictors, mod, xlevels, default.levels, : the
predictors total_trial_number_c, block_number_c are one-column matrices that
were converted to vectors
6 ABBA: across violation types
# is it valid to separate by different violation typeall_vio <-bind_rows(ABBA_pose, ABBA_number, ABBA_animacy_noidentity)m_all_0 <- lmerTest::lmer(dishab ~1+ (1|prolific_id), data = all_vio)m_all_1 <- lmerTest::lmer(dishab ~ violation_type + (1|prolific_id), data = all_vio)anova(m_all_0, m_all_1)
Linear mixed model fit by REML. t-tests use Satterthwaite's method [
lmerModLmerTest]
Formula: first_fam ~ block_number_log_c + bg_image_type + (1 | prolific_id)
Data: ABBA_pose
REML criterion at convergence: 3197.4
Scaled residuals:
Min 1Q Median 3Q Max
-3.2739 -0.5554 -0.0920 0.4780 4.1045
Random effects:
Groups Name Variance Std.Dev.
prolific_id (Intercept) 0.2908 0.5392
Residual 0.2011 0.4485
Number of obs: 1856, groups: prolific_id, 468
Fixed effects:
Estimate Std. Error df t value Pr(>|t|)
(Intercept) 7.726e+00 2.702e-02 4.666e+02 285.978 <2e-16 ***
block_number_log_c -2.449e-01 1.300e-02 1.404e+03 -18.843 <2e-16 ***
bg_image_type1 -8.928e-03 2.306e-02 1.495e+03 -0.387 0.699
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Correlation of Fixed Effects:
(Intr) blc___
blck_nmbr__ 0.000
bg_img_typ1 -0.005 0.015
plot(effects::allEffects(m1))
Warning in Analyze.model(focal.predictors, mod, xlevels, default.levels, : the
predictor block_number_log_c is a one-column matrix that was converted to a
vector
Warning in Analyze.model(focal.predictors, mod, xlevels, default.levels, : the
predictor block_number_log_c is a one-column matrix that was converted to a
vector
Linear mixed model fit by REML. t-tests use Satterthwaite's method [
lmerModLmerTest]
Formula: first_fam ~ block_number_log_c + bg_image_type + (1 | prolific_id)
Data: ABBA_number
REML criterion at convergence: 3278.2
Scaled residuals:
Min 1Q Median 3Q Max
-3.1361 -0.5751 -0.0983 0.4734 3.9713
Random effects:
Groups Name Variance Std.Dev.
prolific_id (Intercept) 0.2797 0.5289
Residual 0.2157 0.4645
Number of obs: 1852, groups: prolific_id, 468
Fixed effects:
Estimate Std. Error df t value Pr(>|t|)
(Intercept) 7.72608 0.02673 465.20617 289.002 <2e-16 ***
block_number_log_c -0.26953 0.01353 1400.80598 -19.916 <2e-16 ***
bg_image_type1 0.05171 0.02386 1499.25323 2.167 0.0304 *
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Correlation of Fixed Effects:
(Intr) blc___
blck_nmbr__ -0.001
bg_img_typ1 -0.008 0.029
plot(effects::allEffects(m1))
Warning in Analyze.model(focal.predictors, mod, xlevels, default.levels, : the
predictor block_number_log_c is a one-column matrix that was converted to a
vector
Warning in Analyze.model(focal.predictors, mod, xlevels, default.levels, : the
predictor block_number_log_c is a one-column matrix that was converted to a
vector
Linear mixed model fit by REML. t-tests use Satterthwaite's method [
lmerModLmerTest]
Formula: first_fam ~ block_number_log_c + bg_image_type + (1 | prolific_id)
Data: ABBA_animacy_noidentity
REML criterion at convergence: 3260.3
Scaled residuals:
Min 1Q Median 3Q Max
-2.8180 -0.5850 -0.0789 0.5108 3.7168
Random effects:
Groups Name Variance Std.Dev.
prolific_id (Intercept) 0.2654 0.5152
Residual 0.2153 0.4640
Number of obs: 1856, groups: prolific_id, 468
Fixed effects:
Estimate Std. Error df t value Pr(>|t|)
(Intercept) 7.78930 0.03103 869.88914 251.050 < 2e-16 ***
block_number_log_c -0.33821 0.02079 1435.54090 -16.265 < 2e-16 ***
bg_image_typeinanimate -0.12986 0.03352 1415.01675 -3.874 0.000112 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Correlation of Fixed Effects:
(Intr) blc___
blck_nmbr__ -0.413
bg_mg_typnn -0.539 0.765
plot(effects::allEffects(m1))
Warning in Analyze.model(focal.predictors, mod, xlevels, default.levels, : the
predictor block_number_log_c is a one-column matrix that was converted to a
vector
Warning in Analyze.model(focal.predictors, mod, xlevels, default.levels, : the
predictor block_number_log_c is a one-column matrix that was converted to a
vector
7.4 plot across violation types
exp2_baseline_check <-bind_rows(ABBA_pose, ABBA_number, ABBA_animacy_noidentity)exp2_baseline_check$bg_image_type <-as.factor(exp2_baseline_check$bg_image_type)exp2_baseline_check$bg_image_type <-fct_relevel(exp2_baseline_check$bg_image_type, "left", "right", "single", "pair", "inanimate", "animate")exp2_baseline_check %>%ggplot(aes(x =as.factor(bg_image_type), y = first_fam, fill = violation_type)) +geom_boxplot(alpha =0.5, width =0.5, outlier.color ="red", outlier.shape =1, outlier.alpha =0.05) +geom_point(alpha =0.02) +stat_summary(fun ="mean", geom ="point", position =position_dodge(.9), color ="red") +stat_summary(fun.data ="mean_se", geom ="errorbar", width =0.2, position =position_dodge(.9), color ="red") +labs(x ="Feature of Familiarization Image", y ="Looking Time at First Familiarization (s)", title ="Baseline Looking for Different Stimuli") +theme_classic()