library(rprime)
library(dplyr)
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
library(purrr)
setwd("../")
# Locate files
sails_paths <- list.files(
"./vignettes/data/SAILS/",
pattern = ".txt",
full.names = TRUE)
# Include a bad file (for testing)
sails_paths <- c(sails_paths, "fake-file.txt")
# Write a function to clean up on of them
sails_path <- sails_paths[1]
reduce_sails <- function(sails_path) {
sails_lines <- read_eprime(sails_path)
sails_frames <- FrameList(sails_lines)
# Trials occur at level 3
sails_frames <- keep_levels(sails_frames, 3)
sails <- to_data_frame(sails_frames)
# Tidy up
to_pick <- c("Eprime.Basename", "Running", "Module", "Sound",
"Sample", "Correct", "Response")
sails <- sails[to_pick]
running_map <- c(TrialLists = "Trial", PracticeBlock = "Practice")
sails$Running <- running_map[sails$Running]
# Renumber trials in the practice and experimental blocks separately.
# Numerically code correct response.
sails %>%
group_by(Running) %>%
mutate(TrialNumber = seq(from = 1, to = length(Running)),
CorrectResponse = ifelse(Correct == Response, 1, 0)) %>%
select(-Sample)
sails
}
# Confirm it works on one
head(reduce_sails(sails_path))
## Eprime.Basename Running Module Sound Sample Correct Response
## 1 SAILS_001X00XS1 Practice LAKE LAKE1.WAV 1 Word Word
## 2 SAILS_001X00XS1 Practice LAKE MAKE.WAV 2 NotWord NotWord
## 3 SAILS_001X00XS1 Practice LAKE LAKE1.WAV 3 Word Word
## 4 SAILS_001X00XS1 Practice LAKE LAKE1.WAV 4 Word Word
## 5 SAILS_001X00XS1 Practice LAKE MAKE.WAV 5 NotWord NotWord
## 6 SAILS_001X00XS1 Practice LAKE LAKE1.WAV 6 Word Word
# Wrap it in safely so that a single bad file doesn't crash everything
# see ?purrr::safely
try_reduce_sails <- safely(reduce_sails)
results <- sails_paths %>%
map(try_reduce_sails)
# See errors
results %>%
map("error")
## [[1]]
## NULL
##
## [[2]]
## NULL
##
## [[3]]
## <simpleError: file.exists(fname) is not TRUE>
# Combine data that could be loaded
results %>%
map_df("result")
## Eprime.Basename Running Module Sound Sample Correct Response
## 1 SAILS_001X00XS1 Practice LAKE LAKE1.WAV 1 Word Word
## 2 SAILS_001X00XS1 Practice LAKE MAKE.WAV 2 NotWord NotWord
## 3 SAILS_001X00XS1 Practice LAKE LAKE1.WAV 3 Word Word
## 4 SAILS_001X00XS1 Practice LAKE LAKE1.WAV 4 Word Word
## 5 SAILS_001X00XS1 Practice LAKE MAKE.WAV 5 NotWord NotWord
## 6 SAILS_001X00XS1 Practice LAKE LAKE1.WAV 6 Word Word
## 7 SAILS_001X00XS1 Practice LAKE MAKE.WAV 7 NotWord NotWord
## 8 SAILS_001X00XS1 Practice LAKE MAKE.WAV 8 NotWord NotWord
## 9 SAILS_001X00XS1 Practice LAKE LAKE1.WAV 9 Word Word
## 10 SAILS_001X00XS1 Practice LAKE MAKE.WAV 10 NotWord NotWord
## 11 SAILS_001X00XS1 Trial LAKE LAKE23B.WAV 1 Word Word
## 12 SAILS_001X00XS1 Trial LAKE LAKE3.WAV 2 Word Word
## 13 SAILS_001X00XS1 Trial LAKE LAKE17.WAV 3 NotWord NotWord
## 14 SAILS_001X00XS1 Trial LAKE LAKE6.WAV 4 Word Word
## 15 SAILS_001X00XS1 Trial LAKE LAKE2.WAV 5 Word Word
## 16 SAILS_001X00XS1 Trial LAKE LAKE26.WAV 6 Word Word
## 17 SAILS_001X00XS1 Trial LAKE LAKE18.WAV 7 NotWord NotWord
## 18 SAILS_001X00XS1 Trial LAKE LAKE30A.WAV 8 NotWord NotWord
## 19 SAILS_001X00XS1 Trial LAKE LAKE31.WAV 9 NotWord NotWord
## 20 SAILS_001X00XS1 Trial LAKE LAKE32.WAV 10 NotWord NotWord
## 21 SAILS_001X00XS1 Trial CAT CAT15.WAV 11 Word Word
## 22 SAILS_001X00XS1 Trial CAT CAT14B.WAV 12 NotWord NotWord
## 23 SAILS_001X00XS1 Trial CAT CAT13.WAV 13 NotWord NotWord
## 24 SAILS_001X00XS1 Trial CAT CAT26.WAV 14 Word Word
## 25 SAILS_001X00XS1 Trial CAT CAT24.WAV 15 NotWord Word
## 26 SAILS_001X00XS1 Trial CAT CAT4.WAV 16 Word Word
## 27 SAILS_001X00XS1 Trial CAT Cat16.WAV 17 NotWord NotWord
## 28 SAILS_001X00XS1 Trial CAT CAt23.WAV 18 Word Word
## 29 SAILS_001X00XS1 Trial CAT CAT13B.WAV 19 NotWord NotWord
## 30 SAILS_001X00XS1 Trial CAT CAT27.WAV 20 Word Word
## 31 SAILS_001X00XS1 Trial RAT RAT20.WAV 21 NotWord NotWord
## 32 SAILS_001X00XS1 Trial RAT RAT24.WAV 22 NotWord NotWord
## 33 SAILS_001X00XS1 Trial RAT RAT11.WAV 23 Word Word
## 34 SAILS_001X00XS1 Trial RAT RAT14.WAV 24 NotWord NotWord
## 35 SAILS_001X00XS1 Trial RAT RAT26.WAV 25 Word Word
## 36 SAILS_001X00XS1 Trial RAT RAT23.WAV 26 Word Word
## 37 SAILS_001X00XS1 Trial RAT RAT9.WAV 27 NotWord NotWord
## 38 SAILS_001X00XS1 Trial RAT RAT17.WAV 28 NotWord NotWord
## 39 SAILS_001X00XS1 Trial RAT RAT27.WAV 29 Word Word
## 40 SAILS_001X00XS1 Trial RAT RAT25.WAV 30 Word Word
## 41 SAILS_001X00XS1 Trial RAT RAT13.WAV 31 NotWord NotWord
## 42 SAILS_001X00XS1 Trial RAT RAT15B.WAV 32 Word NotWord
## 43 SAILS_001X00XS1 Trial RAT RAT21.WAV 33 NotWord Word
## 44 SAILS_001X00XS1 Trial RAT RAT22.WAV 34 Rat Word
## 45 SAILS_001X00XS1 Trial RAT RAT1.WAV 35 Word Word
## 46 SAILS_001X00XS1 Trial RAT RAT33.WAV 36 NotWord NotWord
## 47 SAILS_001X00XS1 Trial RAT RAT2.WAV 37 Word Word
## 48 SAILS_001X00XS1 Trial RAT RAT7.WAV 38 NotWord NotWord
## 49 SAILS_001X00XS1 Trial RAT RAT3.WAV 39 Word NotWord
## 50 SAILS_001X00XS1 Trial RAT RAT32B.WAV 40 NotWord NotWord
## 51 SAILS_001X00XS1 Trial SUE SUE4.WAV 41 Word Word
## 52 SAILS_001X00XS1 Trial SUE SUE15.WAV 42 NotWord NotWord
## 53 SAILS_001X00XS1 Trial SUE SUE17.WAV 43 NotWord Word
## 54 SAILS_001X00XS1 Trial SUE SUE5.WAV 44 Word Word
## 55 SAILS_001X00XS1 Trial SUE SUE30A.WAV 45 NotWord NotWord
## 56 SAILS_001X00XS1 Trial SUE SUE1.WAV 46 Word Word
## 57 SAILS_001X00XS1 Trial SUE SUE13B.WAV 47 NotWord NotWord
## 58 SAILS_001X00XS1 Trial SUE SUE26A.WAV 48 Word Word
## 59 SAILS_001X00XS1 Trial SUE SUE19.WAV 49 Word Word
## 60 SAILS_001X00XS1 Trial SUE SUE13.WAV 50 NotWord NotWord
## 61 SAILS_001X00XS1 Trial SUE SUE16.WAV 51 NotWord Word
## 62 SAILS_001X00XS1 Trial SUE SUE20.WAV 52 NotWord NotWord
## 63 SAILS_001X00XS1 Trial SUE SUE6.WAV 53 Word Word
## 64 SAILS_001X00XS1 Trial SUE SUE28B.WAV 54 NotWord NotWord
## 65 SAILS_001X00XS1 Trial SUE SUE29.WAV 55 NotWord NotWord
## 66 SAILS_001X00XS1 Trial SUE SUE5.WAV 56 Word Word
## 67 SAILS_001X00XS1 Trial SUE SUE25.WAV 57 Word Word
## 68 SAILS_001X00XS1 Trial SUE SUE19.WAV 58 Word Word
## 69 SAILS_001X00XS1 Trial SUE SUE2.WAV 59 Word Word
## 70 SAILS_001X00XS1 Trial SUE SUE29B.WAV 60 NotWord Word
## 71 SAILS_001X00XS1 Trial SUE SUE4.WAV 61 Word Word
## 72 SAILS_001X00XS1 Trial SUE SUE8.WAV 62 NotWord NotWord
## 73 SAILS_001X00XS1 Trial SUE SUE9.WAV 63 Word Word
## 74 SAILS_001X00XS1 Trial SUE SUE21B.WAV 64 NotWord NotWord
## 75 SAILS_001X00XS1 Trial SUE SUE11.WAV 65 NotWord Word
## 76 SAILS_001X00XS1 Trial SUE SUE27C.WAV 66 Word Word
## 77 SAILS_001X00XS1 Trial SUE SUE26A.WAV 67 Word Word
## 78 SAILS_001X00XS1 Trial SUE SUE18C.WAV 68 NotWord NotWord
## 79 SAILS_001X00XS1 Trial SUE SUE17B.WAV 69 NotWord NotWord
## 80 SAILS_001X00XS1 Trial SUE SUE25.WAV 70 Word Word
## 81 SAILS_002X00XS1 Practice LAKE LAKE1.WAV 1 Word NotWord
## 82 SAILS_002X00XS1 Practice LAKE MAKE.WAV 2 NotWord NotWord
## 83 SAILS_002X00XS1 Practice LAKE LAKE1.WAV 3 Word Word
## 84 SAILS_002X00XS1 Practice LAKE LAKE1.WAV 4 Word Word
## 85 SAILS_002X00XS1 Practice LAKE MAKE.WAV 5 NotWord NotWord
## 86 SAILS_002X00XS1 Practice LAKE LAKE1.WAV 6 Word Word
## 87 SAILS_002X00XS1 Practice LAKE MAKE.WAV 7 NotWord NotWord
## 88 SAILS_002X00XS1 Practice LAKE MAKE.WAV 8 NotWord NotWord
## 89 SAILS_002X00XS1 Practice LAKE LAKE1.WAV 9 Word Word
## 90 SAILS_002X00XS1 Practice LAKE MAKE.WAV 10 NotWord NotWord
## 91 SAILS_002X00XS1 Trial LAKE LAKE18.WAV 1 NotWord NotWord
## 92 SAILS_002X00XS1 Trial LAKE LAKE31.WAV 2 NotWord NotWord
## 93 SAILS_002X00XS1 Trial LAKE LAKE6.WAV 3 Word Word
## 94 SAILS_002X00XS1 Trial LAKE LAKE26.WAV 4 Word Word
## 95 SAILS_002X00XS1 Trial LAKE LAKE32.WAV 5 NotWord NotWord
## 96 SAILS_002X00XS1 Trial LAKE LAKE23B.WAV 6 Word Word
## 97 SAILS_002X00XS1 Trial LAKE LAKE2.WAV 7 Word Word
## 98 SAILS_002X00XS1 Trial LAKE LAKE17.WAV 8 NotWord NotWord
## 99 SAILS_002X00XS1 Trial LAKE LAKE3.WAV 9 Word Word
## 100 SAILS_002X00XS1 Trial LAKE LAKE30A.WAV 10 NotWord NotWord
## 101 SAILS_002X00XS1 Trial CAT CAT27.WAV 11 Word Word
## 102 SAILS_002X00XS1 Trial CAT CAT15.WAV 12 Word NotWord
## 103 SAILS_002X00XS1 Trial CAT Cat16.WAV 13 NotWord NotWord
## 104 SAILS_002X00XS1 Trial CAT CAT13.WAV 14 NotWord NotWord
## 105 SAILS_002X00XS1 Trial CAT CAt23.WAV 15 Word Word
## 106 SAILS_002X00XS1 Trial CAT CAT4.WAV 16 Word Word
## 107 SAILS_002X00XS1 Trial CAT CAT14B.WAV 17 NotWord NotWord
## 108 SAILS_002X00XS1 Trial CAT CAT13B.WAV 18 NotWord NotWord
## 109 SAILS_002X00XS1 Trial CAT CAT26.WAV 19 Word Word
## 110 SAILS_002X00XS1 Trial CAT CAT24.WAV 20 NotWord Word
## 111 SAILS_002X00XS1 Trial RAT RAT24.WAV 21 NotWord NotWord
## 112 SAILS_002X00XS1 Trial RAT RAT23.WAV 22 Word NotWord
## 113 SAILS_002X00XS1 Trial RAT RAT25.WAV 23 Word NotWord
## 114 SAILS_002X00XS1 Trial RAT RAT17.WAV 24 NotWord NotWord
## 115 SAILS_002X00XS1 Trial RAT RAT9.WAV 25 NotWord NotWord
## 116 SAILS_002X00XS1 Trial RAT RAT14.WAV 26 NotWord NotWord
## 117 SAILS_002X00XS1 Trial RAT RAT20.WAV 27 NotWord NotWord
## 118 SAILS_002X00XS1 Trial RAT RAT11.WAV 28 Word NotWord
## 119 SAILS_002X00XS1 Trial RAT RAT27.WAV 29 Word NotWord
## 120 SAILS_002X00XS1 Trial RAT RAT26.WAV 30 Word NotWord
## 121 SAILS_002X00XS1 Trial RAT RAT7.WAV 31 NotWord NotWord
## 122 SAILS_002X00XS1 Trial RAT RAT21.WAV 32 NotWord NotWord
## 123 SAILS_002X00XS1 Trial RAT RAT3.WAV 33 Word NotWord
## 124 SAILS_002X00XS1 Trial RAT RAT1.WAV 34 Word NotWord
## 125 SAILS_002X00XS1 Trial RAT RAT15B.WAV 35 Word NotWord
## 126 SAILS_002X00XS1 Trial RAT RAT32B.WAV 36 NotWord NotWord
## 127 SAILS_002X00XS1 Trial RAT RAT33.WAV 37 NotWord NotWord
## 128 SAILS_002X00XS1 Trial RAT RAT2.WAV 38 Word Word
## 129 SAILS_002X00XS1 Trial RAT RAT22.WAV 39 Rat NotWord
## 130 SAILS_002X00XS1 Trial RAT RAT13.WAV 40 NotWord NotWord
## 131 SAILS_002X00XS1 Trial SUE SUE26A.WAV 41 Word Word
## 132 SAILS_002X00XS1 Trial SUE SUE5.WAV 42 Word Word
## 133 SAILS_002X00XS1 Trial SUE SUE17.WAV 43 NotWord NotWord
## 134 SAILS_002X00XS1 Trial SUE SUE4.WAV 44 Word Word
## 135 SAILS_002X00XS1 Trial SUE SUE15.WAV 45 NotWord NotWord
## 136 SAILS_002X00XS1 Trial SUE SUE30A.WAV 46 NotWord NotWord
## 137 SAILS_002X00XS1 Trial SUE SUE13.WAV 47 NotWord NotWord
## 138 SAILS_002X00XS1 Trial SUE SUE1.WAV 48 Word Word
## 139 SAILS_002X00XS1 Trial SUE SUE13B.WAV 49 NotWord NotWord
## 140 SAILS_002X00XS1 Trial SUE SUE19.WAV 50 Word Word
## 141 SAILS_002X00XS1 Trial SUE SUE29B.WAV 51 NotWord NotWord
## 142 SAILS_002X00XS1 Trial SUE SUE20.WAV 52 NotWord NotWord
## 143 SAILS_002X00XS1 Trial SUE SUE5.WAV 53 Word Word
## 144 SAILS_002X00XS1 Trial SUE SUE28B.WAV 54 NotWord NotWord
## 145 SAILS_002X00XS1 Trial SUE SUE16.WAV 55 NotWord NotWord
## 146 SAILS_002X00XS1 Trial SUE SUE2.WAV 56 Word Word
## 147 SAILS_002X00XS1 Trial SUE SUE6.WAV 57 Word Word
## 148 SAILS_002X00XS1 Trial SUE SUE29.WAV 58 NotWord NotWord
## 149 SAILS_002X00XS1 Trial SUE SUE19.WAV 59 Word NotWord
## 150 SAILS_002X00XS1 Trial SUE SUE25.WAV 60 Word Word
## 151 SAILS_002X00XS1 Trial SUE SUE21B.WAV 61 NotWord NotWord
## 152 SAILS_002X00XS1 Trial SUE SUE26A.WAV 62 Word Word
## 153 SAILS_002X00XS1 Trial SUE SUE27C.WAV 63 Word Word
## 154 SAILS_002X00XS1 Trial SUE SUE9.WAV 64 Word NotWord
## 155 SAILS_002X00XS1 Trial SUE SUE25.WAV 65 Word Word
## 156 SAILS_002X00XS1 Trial SUE SUE18C.WAV 66 NotWord NotWord
## 157 SAILS_002X00XS1 Trial SUE SUE4.WAV 67 Word Word
## 158 SAILS_002X00XS1 Trial SUE SUE17B.WAV 68 NotWord NotWord
## 159 SAILS_002X00XS1 Trial SUE SUE11.WAV 69 NotWord NotWord
## 160 SAILS_002X00XS1 Trial SUE SUE8.WAV 70 NotWord NotWord