Load Packages

haven

# Check if haven is already installed and if it is, load it.
if (!require(haven)){
  # If it's not intalled, then tell R to install it.
  install.packages("haven", dependencies = TRUE)
  # Once it's installed, tell R to load it.
  library(haven)
}

tidyverse

if (!require(tidyverse)){
  install.packages("tidyverse", dependencies = TRUE)
  library(tidyverse)
}

Afex

# Check if haven is already installed and if it is, load it.
if (!require(afex)){
  # If it's not intalled, then tell R to install it.
  install.packages("afex", dependencies = TRUE)
  # Once it's installed, tell R to load it.
  library(afex)
}

Import Data

dataset <- read_sav("https://osf.io/p5rqv/download")
dataset %>% #start with dataset
  distinct(Subject, .keep_all = TRUE) -> dataset.unique

Run ANOVA Test

(dataset.unique.aov <- aov_ez(id = "Subject", dv = "RaceDFeb", data = dataset.unique, between=c("TrainTyp", "EC")))
Converting to factor: TrainTyp, EC
Contrasts set to contr.sum for the following variables: TrainTyp, EC
Anova Table (Type 3 tests)

Response: RaceDFeb
       Effect     df  MSE         F   ges p.value
1    TrainTyp 1, 670 0.17      0.51 <.001    .477
2          EC 1, 670 0.17 12.40 ***  .018   <.001
3 TrainTyp:EC 1, 670 0.17      0.00 <.001    .961
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘+’ 0.1 ‘ ’ 1

Calculate Means and Standard Deviations

(dataset.unique %>% # start with the dataset 
  group_by(EC) %>% # group by the training goal variable
  summarise(mean = mean(RaceDFeb), # get the mean of the DV in each group
            SD = sd(RaceDFeb)) -> trainingGoalDescriptives) # get the SD of the DV in each group
NA
LS0tCnRpdGxlOiAiTGVhcm4gUjogQU5PVkFzIgpvdXRwdXQ6IAogIGh0bWxfbm90ZWJvb2s6CiAgICB0aGVtZTogcGFwZXIKICAgIHRvYzogeWVzCiAgICB0b2NfZmxvYXQ6IHllcwotLS0KCiMgTG9hZCBQYWNrYWdlcyB7LnRhYnNldH0KCiMjIGhhdmVuCgpgYGB7cn0KIyBDaGVjayBpZiBoYXZlbiBpcyBhbHJlYWR5IGluc3RhbGxlZCBhbmQgaWYgaXQgaXMsIGxvYWQgaXQuCmlmICghcmVxdWlyZShoYXZlbikpewogICMgSWYgaXQncyBub3QgaW50YWxsZWQsIHRoZW4gdGVsbCBSIHRvIGluc3RhbGwgaXQuCiAgaW5zdGFsbC5wYWNrYWdlcygiaGF2ZW4iLCBkZXBlbmRlbmNpZXMgPSBUUlVFKQogICMgT25jZSBpdCdzIGluc3RhbGxlZCwgdGVsbCBSIHRvIGxvYWQgaXQuCiAgbGlicmFyeShoYXZlbikKfQpgYGAKCiMjIHRpZHl2ZXJzZQoKYGBge3J9CmlmICghcmVxdWlyZSh0aWR5dmVyc2UpKXsKICBpbnN0YWxsLnBhY2thZ2VzKCJ0aWR5dmVyc2UiLCBkZXBlbmRlbmNpZXMgPSBUUlVFKQogIGxpYnJhcnkodGlkeXZlcnNlKQp9CmBgYAoKCiMjIEFmZXgKCgpgYGB7cn0KIyBDaGVjayBpZiBoYXZlbiBpcyBhbHJlYWR5IGluc3RhbGxlZCBhbmQgaWYgaXQgaXMsIGxvYWQgaXQuCmlmICghcmVxdWlyZShhZmV4KSl7CiAgIyBJZiBpdCdzIG5vdCBpbnRhbGxlZCwgdGhlbiB0ZWxsIFIgdG8gaW5zdGFsbCBpdC4KICBpbnN0YWxsLnBhY2thZ2VzKCJhZmV4IiwgZGVwZW5kZW5jaWVzID0gVFJVRSkKICAjIE9uY2UgaXQncyBpbnN0YWxsZWQsIHRlbGwgUiB0byBsb2FkIGl0LgogIGxpYnJhcnkoYWZleCkKfQpgYGAKCiMgSW1wb3J0IERhdGEKCmBgYHtyfQpkYXRhc2V0IDwtIHJlYWRfc2F2KCJodHRwczovL29zZi5pby9wNXJxdi9kb3dubG9hZCIpCmBgYAoKCgpgYGB7cn0KZGF0YXNldCAlPiUgI3N0YXJ0IHdpdGggZGF0YXNldAogIGRpc3RpbmN0KFN1YmplY3QsIC5rZWVwX2FsbCA9IFRSVUUpIC0+IGRhdGFzZXQudW5pcXVlCmBgYAoKCiMgUnVuIEFOT1ZBIFRlc3QgCgoKYGBge3J9CihkYXRhc2V0LnVuaXF1ZS5hb3YgPC0gYW92X2V6KGlkID0gIlN1YmplY3QiLCBkdiA9ICJSYWNlREZlYiIsIGRhdGEgPSBkYXRhc2V0LnVuaXF1ZSwgYmV0d2Vlbj1jKCJUcmFpblR5cCIsICJFQyIpKSkKCmBgYAoKIyBDYWxjdWxhdGUgTWVhbnMgYW5kIFN0YW5kYXJkIERldmlhdGlvbnMgCgoKYGBge3J9CihkYXRhc2V0LnVuaXF1ZSAlPiUgIyBzdGFydCB3aXRoIHRoZSBkYXRhc2V0IAogIGdyb3VwX2J5KEVDKSAlPiUgIyBncm91cCBieSB0aGUgdHJhaW5pbmcgZ29hbCB2YXJpYWJsZQogIHN1bW1hcmlzZShtZWFuID0gbWVhbihSYWNlREZlYiksICMgZ2V0IHRoZSBtZWFuIG9mIHRoZSBEViBpbiBlYWNoIGdyb3VwCiAgICAgICAgICAgIFNEID0gc2QoUmFjZURGZWIpKSAtPiB0cmFpbmluZ0dvYWxEZXNjcmlwdGl2ZXMpICMgZ2V0IHRoZSBTRCBvZiB0aGUgRFYgaW4gZWFjaCBncm91cAoKYGBgCgoK