Reaction Time analyes for L2 French (KU) in behavioral study

Load in files

Set working directory This folder is the parent folder for the individual task folders

setwd("C:/Users/Katie/Desktop/Research/Dissertation/STUDIES/Studies 1 and 2 Behavioral/RESULTS/All tasks raw excel files/L2 French/R Markdown Files")
list.files()
##  [1] "all L2 french markdown.Rmd"      "all_L2_french_markdown.html"    
##  [3] "all_L2_french_markdown.Rmd"      "major paper stim properties.csv"
##  [5] "p101.csv"                        "p102.csv"                       
##  [7] "p103.csv"                        "p104.csv"                       
##  [9] "p105.csv"                        "p106.csv"                       
## [11] "p107.csv"                        "p108.csv"                       
## [13] "p109.csv"                        "p110.csv"                       
## [15] "p111.csv"                        "p112.csv"                       
## [17] "p113.csv"                        "p114.csv"                       
## [19] "p115.csv"                        "p116.csv"                       
## [21] "p117.csv"                        "p118.csv"                       
## [23] "p119.csv"                        "p120.csv"                       
## [25] "p121.csv"                        "p122.csv"                       
## [27] "p123.csv"                        "p124.csv"                       
## [29] "p125.csv"                        "p126.csv"                       
## [31] "p127.csv"                        "p128.csv"                       
## [33] "p129.csv"                        "Participant Data.csv"           
## [35] "rsconnect"                       "wf101.csv"                      
## [37] "wf102.csv"                       "wf103.csv"                      
## [39] "wf104.csv"                       "wf105.csv"                      
## [41] "wf106.csv"                       "wf107.csv"                      
## [43] "wf108.csv"                       "wf109.csv"                      
## [45] "wf110.csv"                       "wf111.csv"                      
## [47] "wf112.csv"                       "wf113.csv"                      
## [49] "wf114.csv"                       "wf115.csv"                      
## [51] "wf116.csv"                       "wf117.csv"                      
## [53] "wf118.csv"                       "wf119.csv"                      
## [55] "wf120.csv"                       "wf121.csv"                      
## [57] "wf122.csv"                       "wf123.csv"                      
## [59] "wf124.csv"                       "wf125.csv"                      
## [61] "wf126.csv"                       "wf127.csv"                      
## [63] "wf128.csv"                       "wf129.csv"
#setwd("D:/Users/c944c978/Dropbox/Dissertation Data/R Markdown Files")

Compile individual files Priming files compiled to “data” datafile

file_list <- list.files(pattern="p1")
 
for (file in file_list){
       
  # if the merged dataset doesn't exist, create it
  if (!exists("dataset")){
    dataset <- read.csv(file, header=TRUE)
  }
   
  # if the merged dataset does exist, append to it
  if (exists("dataset")){
    temp_dataset <-read.csv(file, header=TRUE)
    dataset<-rbind(dataset, temp_dataset)
    rm(temp_dataset)
  }
 
}
data<-dataset
dataset<-NULL

Word-familiarity files compiled to “familiar” datafile

file_list <- list.files(pattern="wf")
 
for (file in file_list){
       
  # if the merged dataset doesn't exist, create it
  if (!exists("dataset")){
    dataset <- read.csv(file, header=TRUE)
  }
   
  # if the merged dataset does exist, append to it
  if (exists("dataset")){
    temp_dataset <-read.csv(file, header=TRUE)
    dataset<-rbind(dataset, temp_dataset)
    rm(temp_dataset)
  }
 
}

familiar<-dataset
dataset<-NULL
head(familiar)
##   Subject Trial Familiar.Keyboard.IsCorrect Familiar.Keyboard.Responses
## 1     101     1                           0                           4
## 2     101     2                           0                           7
## 3     101     3                           0                           5
## 4     101     4                           0                           3
## 5     101     5                           0                           1
## 6     101     6                           0                           6
##   Familiar.Keyboard.ResponseTime TrialTable.Condition TrialTable.Item
## 1                        4355.42                Morph            D013
## 2                        1563.29                 Orth            D072
## 3                        1370.40                 Orth            D068
## 4                        1289.76                  Sem            D095
## 5                        1059.53                Morph            D019
## 6                        2021.16                Morph            D023
##   TrialTable.Target_or_Prime TrialTable.Word
## 1                     Target           fonde
## 2                     Target        commence
## 3                     Target          charge
## 4                     Target            dore
## 5                     Target           valse
## 6                     Target          chasse

Individual properties file

ind_props<-read.csv("Participant Data.csv",header=TRUE)
ind_props
##    Subject Cloze LexTale    Sex AoA YrsInstr PercentFrench Immersion
## 1      101    20 0.58750   Male   7      7.0          10.0      0.00
## 2      102    23 0.65625 Female  18      4.0          15.0      0.25
## 3      103    23 0.66875 Female  16      3.0          10.0      0.00
## 4      104    11 0.57500 Female  19      2.0           2.0      0.75
## 5      105    20 0.53750 Female  18      2.0           2.5      0.00
## 6      106    22 0.62500   Male   0     18.0          32.0     24.00
## 7      107    21 0.60000   Male  14      5.0           5.0      2.00
## 8      108    30 0.58125 Female  12      7.0           5.0      0.00
## 9      109    23 0.59375 Female  14      6.0          35.0      0.50
## 10     110    39 0.83750   Male  27     15.0          20.0     38.00
## 11     111    31 0.70000 Female  18      3.0           5.0      1.25
## 12     112    32 0.70625   Male  18      6.0          10.0     10.00
## 13     113    34 0.71875   Male  18      5.0          20.0     17.00
## 14     114    28 0.56875 Female  12      5.0           2.0      0.00
## 15     115    27 0.59375 Female  18      4.0          15.0      2.00
## 16     116    17 0.49375 Female  12      9.0           5.0      0.25
## 17     117    26 0.57500   Male  20      2.5           3.0      0.00
## 18     118    28 0.56875 Female  16      3.0          25.0      0.15
## 19     119    18 0.55625 Female  12      8.0          10.0      0.00
## 20     120    22 0.65000 Female  18      2.0           3.0      1.50
## 21     121    15 0.53125   Male  16      5.0          10.0      0.00
## 22     122    21      NA Female  13      7.0           5.0      0.00
## 23     123    23 0.65000 Female  12      7.0          10.0      0.00
## 24     124    21 0.55000 Female  14      6.0          20.0      0.00
## 25     125    25 0.53000 Female  14      8.0           5.0      0.00
## 26     126    34 0.68750 Female  15      6.0          30.0     12.50
## 27     127    20 0.66875   Male  13      7.0           5.0      1.50
## 28     128    19 0.60625 Female  17      5.0          10.0      4.00
## 29     129    14 0.56875 Female  13      5.0          10.0      0.00

Predict cloze score for participant 122, who could not do the cloze test or lextale this chunk of code is run independent of the RT analysis; disregard it being here

#proficiency<-data[,c(2,18,19,20,21,22,23,24)]
#proficiency<-unique(proficiency)
#cloze_pred<-lm(cloze~aoa+yrsinstr+percentfrench+immersion,data=proficiency)
#coef(cloze_pred)

Lexical properties file

props<-read.csv("major paper stim properties.csv",header=TRUE)
head(props)
##   Item Condition  Word Letters Frequency Syllables tar.rel.unrel
## 1 D136        ID pulse       5      0.20         1           rel
## 2 D144        ID moule       5      0.68         1           rel
## 3 D129        ID manie       5      1.55         2           rel
## 4 D124        ID abuse       5      1.62         2           rel
## 5 D139        ID borde       5      2.03         1           rel
## 6 D117        ID  nage       4      2.36         1           rel
##   rel.overlap word.nonce repeat.
## 1           1       word       1
## 2           1       word       1
## 3           1       word       1
## 4           1       word       1
## 5           1       word       1
## 6           1       word       1

Cleaning data

Remove participant 112: this participant did not follow instructions to go as fast as possible. 101 & 106 grew up with a French-speaking mother. 124 grew up speaking vietnamese

data<-data[data$Subject!=112 &data$Subject!=106 &data$Subject!=101 &data$Subject!=124,]

Remove breaks and practice items. This organizes the messy e-prime outpt files The factor lines just completely remove the ignored levels after subsetting

data<-data[data$Running !="PracList",]
data$Running<-factor(data$Running)
data<-data[data$Procedure != "BreakProc",]
data$Procedure<-factor(data$Procedure)
data$Condition<-factor(data$Condition)
data$Related<-factor(data$Related)
data$Slide1.ACC<-factor(data$Slide1.ACC)
data$PrimeCondition<-factor(data$PrimeCondition)

Remove unneeded columns

data<-data[,c(1,2,16,18,20,30,31,33,35,42,44)]

Give some cols more transparent names

library(dplyr)
data<-rename(data,List=ExperimentName)
data<-rename(data,TrialOrder=Block)
data<-rename(data,Accuracy=Slide1.ACC)
data<-rename(data,RT=Slide1.RT)

Accuracy analyses

Load necessary packages

library(stats)
library(lme4)
library(lmerTest)

Summarize accuracy data Accuracy is currently a factor, have to change to numeric 0,1. Same with RT column

data$Accuracy<-as.numeric(as.character(data$Accuracy))
data$RT<-as.numeric(as.character(data$RT))

aggregate(Accuracy~Condition,data=data,FUN=mean)
##   Condition  Accuracy
## 1        ID 0.8300000
## 2     Morph 0.8466667
## 3     Nonce 0.7275000
## 4      Orth 0.8000000
## 5       Sem 0.8188889

Logit model to analyze accuracy data

acc1<-glm(Accuracy~ Condition*Related+TrialOrder,data=data,family=binomial)
summary(acc1)
## 
## Call:
## glm(formula = Accuracy ~ Condition * Related + TrialOrder, family = binomial, 
##     data = data)
## 
## Deviance Residuals: 
##     Min       1Q   Median       3Q      Max  
## -2.0042   0.5537   0.6318   0.7854   0.8414  
## 
## Coefficients:
##                                   Estimate Std. Error z value Pr(>|z|)    
## (Intercept)                      1.5538450  0.1369131  11.349  < 2e-16 ***
## ConditionMorph                   0.1687974  0.1854712   0.910    0.363    
## ConditionNonce                  -0.7028524  0.1423934  -4.936 7.97e-07 ***
## ConditionOrth                   -0.1125413  0.1767540  -0.637    0.524    
## ConditionSem                    -0.1287882  0.1763633  -0.730    0.465    
## RelatedUnrelated                -0.0812305  0.1775872  -0.457    0.647    
## TrialOrder                       0.0004752  0.0003387   1.403    0.161    
## ConditionMorph:RelatedUnrelated -0.0884976  0.2567855  -0.345    0.730    
## ConditionNonce:RelatedUnrelated  0.1691561  0.1943378   0.870    0.384    
## ConditionOrth:RelatedUnrelated  -0.1709978  0.2440230  -0.701    0.483    
## ConditionSem:RelatedUnrelated    0.0960883  0.2480168   0.387    0.698    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 7665.2  on 7199  degrees of freedom
## Residual deviance: 7554.8  on 7189  degrees of freedom
## AIC: 7576.8
## 
## Number of Fisher Scoring iterations: 4

Further clean and organize data for RT analyses

Remove nonce items

data<-data[data$Condition!="Nonce",]
head(data)
##      List Subject TrialOrder Condition Item   Prime PrimeCondition
## 615 List2     102         13       Sem D085 prêtons            unr
## 616 List2     102         14      Orth D041  humons            unr
## 617 List2     102         15      Orth D061 sonnons           orth
## 620 List2     102         18      Orth D048 donnons            unr
## 623 List2     102         21       Sem D107 piquons            sem
## 628 List2     102         26       Sem D081 voguons            unr
##       Related Accuracy   RT  Target
## 615 Unrelated        1  977 RACONTE
## 616 Unrelated        1 1033    JUGE
## 617   Related        1  917   SONGE
## 620 Unrelated        1  870   COUPE
## 623   Related        1 1655   PERCE
## 628 Unrelated        1  801  ÉPOUSE

Load lexical property file

props<-read.csv("major paper stim properties.csv",header=TRUE)
head(props)
##   Item Condition  Word Letters Frequency Syllables tar.rel.unrel
## 1 D136        ID pulse       5      0.20         1           rel
## 2 D144        ID moule       5      0.68         1           rel
## 3 D129        ID manie       5      1.55         2           rel
## 4 D124        ID abuse       5      1.62         2           rel
## 5 D139        ID borde       5      2.03         1           rel
## 6 D117        ID  nage       4      2.36         1           rel
##   rel.overlap word.nonce repeat.
## 1           1       word       1
## 2           1       word       1
## 3           1       word       1
## 4           1       word       1
## 5           1       word       1
## 6           1       word       1

Organizing property files in prep of integrating to data file

targets<-props[props$tar.rel.unrel=="target" & props$word.nonce=="word",]
#primes<-props[props$tar.rel.unrel!="target"& props$word.nonce=="word",]

target_length<-targets[,c(3,4)]
target_freq<-targets[,c(3,5)]
target_syllables<-targets[,c(3,6)]

#primes_length<-primes[,c(3,4)]
#primes_length<-primes_length[unique(primes_length$Word),]
#primes_freq<-primes[,c(3,5)]
#primes_freq<-primes_freq[unique(primes_freq$Word),]
#primes_syllables<-primes[,c(3,6)]
#primes_syllables<-primes_syllables[unique(primes_syllables$Word),]

Integrate lexical properties to data file

library(qdap)
data$targetfreq<-lookup(data$Target,target_freq)
data$targetlength<-lookup(data$Target,target_length)
data$targetsyllables<-lookup(data$Target,target_syllables)

#data$primefreq<-lookup(data$Prime,primes_freq)
#data$primelength<-lookup(data$Prime,primes_length)
#data$primesyllables<-lookup(data$Prime,primes_syllables)

Log transform RTs and target frequency

data$logRT<-log(data$RT)
data$logtargetfreq<-log(data$targetfreq)

Clean data in following order

    * remove 3000+ RTs
    * calculate zscores
    * remove 2.5+ zscores
    * keep only accurate items
    * re-level the Related column so that Unrelated is treated as the baseline
library(stats)
data<-data[data$RT<=3000,]
data$zRT<-ave(data$RT,data$Subject,FUN=scale,na.rm=T)
data<-data[data$zRT<=2.5,]
data<-data[data$Accuracy==1,]
data$Related<-as.factor(data$Related)
data$Related<-relevel(data$Related,ref="Unrelated")

Adding L2 ind_props data to dataframe

cloze<-ind_props[,c(1,2)]
lextale<-ind_props[,c(1,3)]
sex<-ind_props[,c(1,4)]
aoa<-ind_props[,c(1,5)]
yrsinstr<-ind_props[,c(1,6)]
percentfrench<-ind_props[,c(1,7)]
immersion<-ind_props[,c(1,8)]

data$cloze<-lookup(data$Subject,cloze)
data$lextale<-lookup(data$Subject,lextale)
data$sex<-lookup(data$Subject,sex)
data$aoa<-lookup(data$Subject,aoa)
data$yrsinstr<-lookup(data$Subject,yrsinstr)
data$percentfrench<-lookup(data$Subject,percentfrench)
data$immersion<-lookup(data$Subject,immersion)

Adding word familiarity to dataframe.

familiar_target<-familiar[familiar$TrialTable.Target_or_Prime=="Target",]
familiar_target$TrialTable.Target_or_Prime<-factor(familiar_target$TrialTable.Target_or_Prime)
familiar_target$sub_word<-paste(familiar_target$Subject,familiar_target$TrialTable.Word)

familiar_prime<-familiar[familiar$TrialTable.Target_or_Prime=="Prime",]
familiar_prime$TrialTable.Target_or_Prime<-factor(familiar_prime$TrialTable.Target_or_Prime)
familiar_prime$sub_word<-paste(familiar_prime$Subject,familiar_prime$TrialTable.Word)

target_ratings<-familiar_target[,c(10,4)]
target_ratings<-rename(target_ratings,Rating=Familiar.Keyboard.Responses)
prime_ratings<-familiar_prime[,c(10,4)]
prime_ratings<-rename(prime_ratings,Rating=Familiar.Keyboard.Responses)

ratings<-rbind(prime_ratings,target_ratings)

data$data_sub_target<-paste(data$Subject,data$Target)
data$data_sub_prime<-paste(data$Subject,data$Prime)
data$data_sub_target<-tolower(data$data_sub_target)

data$know_target<-lookup(data$data_sub_target,ratings)
data$know_prime<-lookup(data$data_sub_prime,ratings)

Center cloze score for normal distribution

data$center_cloze<-scale(data$cloze, center = TRUE, scale = FALSE)

Summarize data frame to be used in analyses

str(data)
## 'data.frame':    2863 obs. of  29 variables:
##  $ List           : Factor w/ 2 levels "List1","List2": 2 2 2 2 2 2 2 2 2 2 ...
##  $ Subject        : int  102 102 102 102 102 102 102 102 102 102 ...
##  $ TrialOrder     : int  13 14 15 18 26 27 28 34 36 37 ...
##  $ Condition      : Factor w/ 5 levels "ID","Morph","Nonce",..: 5 4 4 4 5 1 4 2 5 2 ...
##  $ Item           : Factor w/ 289 levels "D001","D002",..: 85 41 61 48 81 137 68 8 88 7 ...
##  $ Prime          : Factor w/ 487 levels "abjurons","aboyons",..: 431 380 460 344 283 440 322 463 260 422 ...
##  $ PrimeCondition : Factor w/ 7 levels "id","morph","orth",..: 6 6 3 6 6 1 3 6 6 6 ...
##  $ Related        : Factor w/ 2 levels "Unrelated","Related": 1 1 2 1 1 2 2 1 1 1 ...
##  $ Accuracy       : num  1 1 1 1 1 1 1 1 1 1 ...
##  $ RT             : num  977 1033 917 870 801 ...
##  $ Target         : Factor w/ 298 levels "ABUSE","ACCEPTE",..: 234 149 258 66 94 239 55 15 247 169 ...
##  $ targetfreq     : num  54.1 29.8 17 17.8 7.3 ...
##  $ targetlength   : num  7 4 5 5 6 6 6 5 5 4 ...
##  $ targetsyllables: num  2 1 1 1 2 2 1 2 1 1 ...
##  $ logRT          : num  6.88 6.94 6.82 6.77 6.69 ...
##  $ logtargetfreq  : num  3.99 3.39 2.83 2.88 1.99 ...
##  $ zRT            : num  0.986 1.246 0.708 0.49 0.17 ...
##  $ cloze          : num  23 23 23 23 23 23 23 23 23 23 ...
##  $ lextale        : num  0.656 0.656 0.656 0.656 0.656 ...
##  $ sex            : Factor w/ 2 levels "Female","Male": 1 1 1 1 1 1 1 1 1 1 ...
##  $ aoa            : num  18 18 18 18 18 18 18 18 18 18 ...
##  $ yrsinstr       : num  4 4 4 4 4 4 4 4 4 4 ...
##  $ percentfrench  : num  15 15 15 15 15 15 15 15 15 15 ...
##  $ immersion      : num  0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 ...
##  $ data_sub_target: chr  "102 raconte" "102 juge" "102 songe" "102 coupe" ...
##  $ data_sub_prime : chr  "102 prêtons" "102 humons" "102 sonnons" "102 donnons" ...
##  $ know_target    : num  5 2 4 5 5 6 2 6 1 2 ...
##  $ know_prime     : num  NA NA 1 NA NA 6 1 NA NA NA ...
##  $ center_cloze   : num [1:2863, 1] -1.07 -1.07 -1.07 -1.07 -1.07 ...
##   ..- attr(*, "scaled:center")= num 24.1
head(data)
##      List Subject TrialOrder Condition Item   Prime PrimeCondition
## 615 List2     102         13       Sem D085 prêtons            unr
## 616 List2     102         14      Orth D041  humons            unr
## 617 List2     102         15      Orth D061 sonnons           orth
## 620 List2     102         18      Orth D048 donnons            unr
## 628 List2     102         26       Sem D081 voguons            unr
## 629 List2     102         27        ID D137  récite             id
##       Related Accuracy   RT  Target targetfreq targetlength
## 615 Unrelated        1  977 RACONTE      54.12            7
## 616 Unrelated        1 1033    JUGE      29.80            4
## 617   Related        1  917   SONGE      17.03            5
## 620 Unrelated        1  870   COUPE      17.77            5
## 628 Unrelated        1  801  ÉPOUSE       7.30            6
## 629   Related        1  657  RÉCITE       3.72            6
##     targetsyllables    logRT logtargetfreq        zRT cloze lextale    sex
## 615               2 6.884487      3.991204  0.9864706    23 0.65625 Female
## 616               1 6.940222      3.394508  1.2464091    23 0.65625 Female
## 617               1 6.821107      2.834976  0.7079650    23 0.65625 Female
## 620               1 6.768493      2.877512  0.4898023    23 0.65625 Female
## 628               2 6.685861      1.987874  0.1695209    23 0.65625 Female
## 629               2 6.487684      1.313724 -0.4988924    23 0.65625 Female
##     aoa yrsinstr percentfrench immersion data_sub_target data_sub_prime
## 615  18        4            15      0.25     102 raconte    102 prêtons
## 616  18        4            15      0.25        102 juge     102 humons
## 617  18        4            15      0.25       102 songe    102 sonnons
## 620  18        4            15      0.25       102 coupe    102 donnons
## 628  18        4            15      0.25      102 épouse    102 voguons
## 629  18        4            15      0.25      102 récite     102 récite
##     know_target know_prime center_cloze
## 615           5         NA    -1.066713
## 616           2         NA    -1.066713
## 617           4          1    -1.066713
## 620           5         NA    -1.066713
## 628           5         NA    -1.066713
## 629           6          6    -1.066713
summary(data)
##     List         Subject        TrialOrder    Condition        Item     
##  List1:1606   Min.   :102.0   Min.   : 11.0   ID   :724   D006   :  25  
##  List2:1257   1st Qu.:109.0   1st Qu.: 85.0   Morph:738   D008   :  25  
##               Median :115.0   Median :158.0   Nonce:  0   D016   :  25  
##               Mean   :115.5   Mean   :157.8   Orth :686   D023   :  25  
##               3rd Qu.:122.0   3rd Qu.:231.0   Sem  :715   D029   :  25  
##               Max.   :129.0   Max.   :301.0               D031   :  25  
##                                                           (Other):2713  
##        Prime      PrimeCondition      Related        Accuracy
##  agréons  :  14   id   : 369     Unrelated:1415   Min.   :1  
##  aidons   :  14   morph: 374     Related  :1448   1st Qu.:1  
##  amusons  :  14   orth : 350                      Median :1  
##  apprenons:  14   Orth :   0                      Mean   :1  
##  brillons :  14   sem  : 355                      3rd Qu.:1  
##  brumons  :  14   unr  :1415                      Max.   :1  
##  (Other)  :2779   Unr  :   0                                 
##        RT             Target       targetfreq       targetlength  
##  Min.   : 282.0   ACCEPTE:  25   Min.   :  0.001   Min.   :3.000  
##  1st Qu.: 618.0   ACCUSE :  25   1st Qu.:  6.010   1st Qu.:5.000  
##  Median : 723.0   AIME   :  25   Median : 16.820   Median :5.000  
##  Mean   : 797.2   AMUSE  :  25   Mean   : 30.851   Mean   :5.335  
##  3rd Qu.: 884.5   BRÛLE  :  25   3rd Qu.: 32.030   3rd Qu.:6.000  
##  Max.   :2271.0   CHASSE :  25   Max.   :257.570   Max.   :8.000  
##                   (Other):2713                                    
##  targetsyllables     logRT       logtargetfreq         zRT         
##  Min.   :1.000   Min.   :5.642   Min.   :-6.908   Min.   :-1.8110  
##  1st Qu.:1.000   1st Qu.:6.426   1st Qu.: 1.793   1st Qu.:-0.6736  
##  Median :1.000   Median :6.583   Median : 2.823   Median :-0.3768  
##  Mean   :1.286   Mean   :6.632   Mean   : 2.509   Mean   :-0.1742  
##  3rd Qu.:2.000   3rd Qu.:6.785   3rd Qu.: 3.467   3rd Qu.: 0.1514  
##  Max.   :2.000   Max.   :7.728   Max.   : 5.551   Max.   : 2.4865  
##                                                                    
##      cloze          lextale           sex            aoa       
##  Min.   :11.00   Min.   :0.4938   Female:2147   Min.   :12.00  
##  1st Qu.:20.00   1st Qu.:0.5687   Male  : 716   1st Qu.:13.00  
##  Median :23.00   Median :0.5938                 Median :16.00  
##  Mean   :24.07   Mean   :0.6188                 Mean   :15.99  
##  3rd Qu.:28.00   3rd Qu.:0.6687                 3rd Qu.:18.00  
##  Max.   :39.00   Max.   :0.8375                 Max.   :27.00  
##                  NA's   :107                                   
##     yrsinstr      percentfrench   immersion      data_sub_target   
##  Min.   : 2.000   Min.   : 2    Min.   : 0.000   Length:2863       
##  1st Qu.: 3.000   1st Qu.: 5    1st Qu.: 0.000   Class :character  
##  Median : 5.000   Median :10    Median : 0.250   Mode  :character  
##  Mean   : 5.452   Mean   :11    Mean   : 3.726                     
##  3rd Qu.: 7.000   3rd Qu.:15    3rd Qu.: 2.000                     
##  Max.   :15.000   Max.   :35    Max.   :38.000                     
##                                                                    
##  data_sub_prime      know_target     know_prime      center_cloze.V1   
##  Length:2863        Min.   :1.00   Min.   :1.000   Min.   :-13.066713  
##  Class :character   1st Qu.:4.00   1st Qu.:2.000   1st Qu.: -4.066713  
##  Mode  :character   Median :6.00   Median :4.000   Median : -1.066713  
##                     Mean   :5.42   Mean   :4.234   Mean   :  0.000000  
##                     3rd Qu.:7.00   3rd Qu.:7.000   3rd Qu.:  3.933287  
##                     Max.   :7.00   Max.   :7.000   Max.   : 14.933287  
##                                    NA's   :1415

Priming effects

Here are the priming effects if you just look at mean RTs for related vs unrelated items

morph<-data[data$Condition=="Morph",]
orth<-data[data$Condition=="Orth",]
sem<-data[data$Condition=="Sem",]
id<-data[data$Condition=="ID",]

morph_means<-aggregate(RT~Related,data=morph,FUN=mean)
orth_means<-aggregate(RT~Related,data=orth,FUN=mean)
sem_means<-aggregate(RT~Related,data=sem,FUN=mean)
id_means<-aggregate(RT~Related,data=id,FUN=mean)

morph_priming<-morph_means[2,2]-morph_means[1,2]
orth_priming<-orth_means[2,2]-orth_means[1,2]
sem_priming<-sem_means[2,2]-sem_means[1,2]
id_priming<-id_means[2,2]-id_means[1,2]

priming<-rbind(id_priming,morph_priming,orth_priming,sem_priming)
priming
##                     [,1]
## id_priming    -54.565983
## morph_priming -37.312349
## orth_priming   -7.701310
## sem_priming     8.884272

Linear mixed-effects models

  • For Condition, Identity is treated as the baseline
  • For Relatedness, Unrelated is treated as the baseline

  • The below models use log-transformed RT as the dependent variable. Fixed-effects are added one-by-one and models are compared using ANOVAs to decide the best model fit.

  • Centered cloze score is used

  • Log-transformed target frequency is used

  • Random slopes are added and tested for improved model fit with ANOVA after the best fixed-effects are decided

test1<-lmer(logRT~Condition*Related*center_cloze+TrialOrder+(1|Item)+(1|Subject),data)
test2<-lmer(logRT~Condition*Related*center_cloze+logtargetfreq+TrialOrder+(1|Item)+(1|Subject),data)
test3<-lmer(logRT~Condition*Related*center_cloze+logtargetfreq+know_target+TrialOrder+(1|Item)+(1|Subject),data)
# test 3 is best (better to include target freq and target familiarity)
test4<-lmer(logRT~Condition*Related*center_cloze-Condition:Related:center_cloze+logtargetfreq+know_target+TrialOrder+(1|Item)+(1|Subject),data)
test5<-lmer(logRT~Condition*Related*center_cloze-Condition:Related:center_cloze-center_cloze:Condition+logtargetfreq+know_target+TrialOrder+(1|Item)+(1|Subject),data)
test6<-lmer(logRT~Condition*Related*center_cloze-Condition:Related:center_cloze-center_cloze:Related+logtargetfreq+know_target+TrialOrder+(1|Item)+(1|Subject),data)
test7<-lmer(logRT~Condition*Related+center_cloze+logtargetfreq+know_target+TrialOrder+(1|Item)+(1|Subject),data)

# when adding random slopes you check if AIC is lowered by at least 2 when slope is added to decide if it's better to keep it (M. Weiling, 2015 lecture)
test8<-lmer(logRT~Condition*Related+center_cloze+logtargetfreq+know_target+TrialOrder+(1+center_cloze|Item)+(1|Subject),data)
test9<-lmer(logRT~Condition*Related+center_cloze+logtargetfreq+know_target+TrialOrder+(1|Item)+(1+logtargetfreq|Subject),data)
test10<-lmer(logRT~Condition*Related+center_cloze+logtargetfreq+know_target+TrialOrder+(1+center_cloze|Item)+(1+logtargetfreq|Subject),data)
test11<-lmer(logRT~Condition*Related+center_cloze+logtargetfreq+know_target+TrialOrder+(1+center_cloze|Item)+(1+logtargetfreq+Related|Subject),data)

# test 9 is best
summary(test9)
## Linear mixed model fit by REML t-tests use Satterthwaite approximations
##   to degrees of freedom [lmerMod]
## Formula: logRT ~ Condition * Related + center_cloze + logtargetfreq +  
##     know_target + TrialOrder + (1 | Item) + (1 + logtargetfreq |  
##     Subject)
##    Data: data
## 
## REML criterion at convergence: 60.1
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -4.1398 -0.6351 -0.1427  0.4975  3.8174 
## 
## Random effects:
##  Groups   Name          Variance  Std.Dev. Corr 
##  Item     (Intercept)   0.0039455 0.06281       
##  Subject  (Intercept)   0.0308450 0.17563       
##           logtargetfreq 0.0002829 0.01682  -0.60
##  Residual               0.0532789 0.23082       
## Number of obs: 2863, groups:  Item, 144; Subject, 25
## 
## Fixed effects:
##                                 Estimate Std. Error         df t value
## (Intercept)                    6.890e+00  4.294e-02  4.690e+01 160.445
## ConditionMorph                -2.005e-02  2.293e-02  2.339e+02  -0.874
## ConditionOrth                 -4.082e-02  2.342e-02  2.398e+02  -1.743
## ConditionSem                  -1.573e-03  2.309e-02  2.350e+02  -0.068
## RelatedRelated                -8.456e-02  1.731e-02  2.705e+03  -4.886
## center_cloze                  -8.169e-03  4.496e-03  2.310e+01  -1.817
## logtargetfreq                 -1.991e-02  5.393e-03  5.180e+01  -3.692
## know_target                   -2.394e-02  3.186e-03  1.963e+03  -7.514
## TrialOrder                    -2.475e-04  5.256e-05  2.776e+03  -4.709
## ConditionMorph:RelatedRelated  3.768e-02  2.436e-02  2.706e+03   1.547
## ConditionOrth:RelatedRelated   6.656e-02  2.481e-02  2.712e+03   2.682
## ConditionSem:RelatedRelated    8.776e-02  2.459e-02  2.717e+03   3.570
##                               Pr(>|t|)    
## (Intercept)                    < 2e-16 ***
## ConditionMorph                0.382765    
## ConditionOrth                 0.082686 .  
## ConditionSem                  0.945744    
## RelatedRelated                1.09e-06 ***
## center_cloze                  0.082185 .  
## logtargetfreq                 0.000537 ***
## know_target                   8.64e-14 ***
## TrialOrder                    2.61e-06 ***
## ConditionMorph:RelatedRelated 0.121932    
## ConditionOrth:RelatedRelated  0.007356 ** 
## ConditionSem:RelatedRelated   0.000364 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) CndtnM CndtnO CndtnS RltdRl cntr_c lgtrgt knw_tr TrlOrd
## ConditnMrph -0.269                                                        
## ConditnOrth -0.284  0.492                                                 
## ConditionSm -0.246  0.501  0.477                                          
## RelatedRltd -0.212  0.386  0.378  0.384                                   
## center_cloz  0.054 -0.001 -0.002  0.001  0.001                            
## logtargtfrq -0.395 -0.006  0.095 -0.074  0.000  0.014                     
## know_target -0.313 -0.002 -0.018  0.007  0.011 -0.045 -0.248              
## TrialOrder  -0.184  0.015 -0.008 -0.007  0.008 -0.003  0.002 -0.024       
## CndtnMrp:RR  0.150 -0.542 -0.269 -0.273 -0.711  0.001 -0.001  0.000 -0.018
## CndtnOrt:RR  0.146 -0.269 -0.543 -0.266 -0.697  0.002 -0.009  0.003 -0.001
## CndtnSm:RlR  0.149 -0.272 -0.266 -0.536 -0.705 -0.003  0.002 -0.007 -0.009
##             CnM:RR CnO:RR
## ConditnMrph              
## ConditnOrth              
## ConditionSm              
## RelatedRltd              
## center_cloz              
## logtargtfrq              
## know_target              
## TrialOrder               
## CndtnMrp:RR              
## CndtnOrt:RR  0.495       
## CndtnSm:RlR  0.502  0.490

Summarizing the linear-mixed effects models

The best mode (test5) gave the following results:

  • Effect of relatedness. This means that in the ID condition, the targets with related primes had faster RTs than when the targets had unrelated primes
  • Effect of log-transformed target frequency. This means that as target frequency increased, RTs got faster overall
  • Effect of target familiarity. This indicates that targets that are more familiar are responded to more quickly overall
  • Effect of trial order. As the experiment progressed, participants got faster overall
  • Interaction of Condition x Related for the Orth condition. This means that the effect of relatedness found (in the ID) condition differs from the effect of relatedness in the Orth condition
  • Interaction of Condition x Related for the Sem condition. This means that the effect of relatedness found (in the ID) condition differs from the effect of relatedness in the Sem condition
  • Marginal (p=0.57) interaction of Related x Cloze. The effect of relatedness may change as proficiency changes

  • The lack of interaction of Condition x Related for Morph indicates that the effect of relatedness found in the ID condition does not differ from the effect found in the Morph condition

Follow-up models

look at effect of relatedness in each condition

ID model

id1<-lmer(logRT~Related*center_cloze+logtargetfreq+know_target+TrialOrder+(1+center_cloze|Item)+(1+logtargetfreq|Subject),id)
summary(id1)
## Linear mixed model fit by REML t-tests use Satterthwaite approximations
##   to degrees of freedom [lmerMod]
## Formula: logRT ~ Related * center_cloze + logtargetfreq + know_target +  
##     TrialOrder + (1 + center_cloze | Item) + (1 + logtargetfreq |  
##     Subject)
##    Data: id
## 
## REML criterion at convergence: 109
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -2.9242 -0.6303 -0.1110  0.4729  3.7466 
## 
## Random effects:
##  Groups   Name          Variance  Std.Dev. Corr 
##  Item     (Intercept)   2.162e-03 0.046498      
##           center_cloze  4.834e-06 0.002199 -1.00
##  Subject  (Intercept)   4.119e-02 0.202944      
##           logtargetfreq 3.347e-04 0.018294 -0.74
##  Residual               5.522e-02 0.234979      
## Number of obs: 724, groups:  Item, 36; Subject, 25
## 
## Fixed effects:
##                               Estimate Std. Error         df t value
## (Intercept)                  6.867e+00  5.718e-02  5.580e+01 120.097
## RelatedRelated              -8.444e-02  1.769e-02  6.632e+02  -4.773
## center_cloze                -7.053e-03  5.378e-03  2.630e+01  -1.312
## logtargetfreq               -2.505e-02  9.675e-03  2.900e+01  -2.589
## know_target                 -1.694e-02  6.122e-03  3.183e+02  -2.767
## TrialOrder                  -2.473e-04  1.068e-04  6.807e+02  -2.317
## RelatedRelated:center_cloze -4.011e-03  2.614e-03  6.526e+02  -1.535
##                             Pr(>|t|)    
## (Intercept)                  < 2e-16 ***
## RelatedRelated              2.23e-06 ***
## center_cloze                 0.20099    
## logtargetfreq                0.01488 *  
## know_target                  0.00598 ** 
## TrialOrder                   0.02081 *  
## RelatedRelated:center_cloze  0.12537    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) RltdRl cntr_c lgtrgt knw_tr TrlOrd
## RelatedRltd -0.181                                   
## center_cloz  0.068  0.002                            
## logtargtfrq -0.393  0.008 -0.031                     
## know_target -0.444  0.025 -0.058 -0.306              
## TrialOrder  -0.306  0.019 -0.001  0.043 -0.010       
## RltdRltd:c_ -0.002  0.005 -0.238  0.012 -0.003 -0.002

Morph model

morph1<-lmer(logRT~Related*center_cloze+logtargetfreq+know_target+TrialOrder+(1+center_cloze|Item)+(1+logtargetfreq|Subject),morph)
summary(morph1)
## Linear mixed model fit by REML t-tests use Satterthwaite approximations
##   to degrees of freedom [lmerMod]
## Formula: logRT ~ Related * center_cloze + logtargetfreq + know_target +  
##     TrialOrder + (1 + center_cloze | Item) + (1 + logtargetfreq |  
##     Subject)
##    Data: morph
## 
## REML criterion at convergence: 8
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -3.9390 -0.6738 -0.1605  0.5430  3.7637 
## 
## Random effects:
##  Groups   Name          Variance  Std.Dev.  Corr 
##  Item     (Intercept)   4.066e-03 6.376e-02      
##           center_cloze  2.608e-09 5.107e-05 -1.00
##  Subject  (Intercept)   2.679e-02 1.637e-01      
##           logtargetfreq 1.281e-05 3.579e-03 -1.00
##  Residual               4.770e-02 2.184e-01      
## Number of obs: 738, groups:  Item, 36; Subject, 25
## 
## Fixed effects:
##                               Estimate Std. Error         df t value
## (Intercept)                  6.922e+00  5.305e-02  7.020e+01 130.491
## RelatedRelated              -4.665e-02  1.626e-02  6.817e+02  -2.869
## center_cloze                -6.325e-03  5.038e-03  2.660e+01  -1.256
## logtargetfreq               -3.532e-02  1.106e-02  3.730e+01  -3.195
## know_target                 -2.167e-02  6.039e-03  4.842e+02  -3.588
## TrialOrder                  -4.222e-04  9.780e-05  6.994e+02  -4.316
## RelatedRelated:center_cloze  4.144e-04  2.487e-03  6.748e+02   0.167
##                             Pr(>|t|)    
## (Intercept)                  < 2e-16 ***
## RelatedRelated              0.004239 ** 
## center_cloze                0.220208    
## logtargetfreq               0.002843 ** 
## know_target                 0.000368 ***
## TrialOrder                  1.82e-05 ***
## RelatedRelated:center_cloze 0.867739    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) RltdRl cntr_c lgtrgt knw_tr TrlOrd
## RelatedRltd -0.160                                   
## center_cloz  0.068  0.011                            
## logtargtfrq -0.389 -0.001  0.014                     
## know_target -0.454  0.023 -0.079 -0.277              
## TrialOrder  -0.268 -0.034  0.004  0.017 -0.031       
## RltdRltd:c_  0.008 -0.036 -0.250  0.015 -0.012 -0.006

Orth model

orth1<-lmer(logRT~Related*center_cloze+logtargetfreq+know_target+TrialOrder+(1+center_cloze|Item)+(1+logtargetfreq|Subject),orth)
summary(orth1)
## Linear mixed model fit by REML t-tests use Satterthwaite approximations
##   to degrees of freedom [lmerMod]
## Formula: logRT ~ Related * center_cloze + logtargetfreq + know_target +  
##     TrialOrder + (1 + center_cloze | Item) + (1 + logtargetfreq |  
##     Subject)
##    Data: orth
## 
## REML criterion at convergence: 158.3
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -2.2579 -0.6188 -0.1646  0.5386  3.6207 
## 
## Random effects:
##  Groups   Name          Variance  Std.Dev.  Corr 
##  Item     (Intercept)   2.722e-03 0.0521730      
##           center_cloze  3.273e-07 0.0005721 -1.00
##  Subject  (Intercept)   2.720e-02 0.1649361      
##           logtargetfreq 3.739e-04 0.0193358 -0.53
##  Residual               5.884e-02 0.2425748      
## Number of obs: 686, groups:  Item, 36; Subject, 25
## 
## Fixed effects:
##                               Estimate Std. Error         df t value
## (Intercept)                  6.861e+00  5.159e-02  9.320e+01 132.982
## RelatedRelated              -1.726e-02  1.872e-02  6.090e+02  -0.922
## center_cloze                -4.716e-03  4.872e-03  2.820e+01  -0.968
## logtargetfreq               -1.003e-02  6.668e-03  3.130e+01  -1.505
## know_target                 -3.415e-02  6.586e-03  4.437e+02  -5.185
## TrialOrder                  -1.154e-04  1.155e-04  6.401e+02  -0.999
## RelatedRelated:center_cloze -5.154e-03  2.794e-03  5.969e+02  -1.845
##                             Pr(>|t|)    
## (Intercept)                  < 2e-16 ***
## RelatedRelated                0.3571    
## center_cloze                  0.3413    
## logtargetfreq                 0.1424    
## know_target                 3.29e-07 ***
## TrialOrder                    0.3180    
## RelatedRelated:center_cloze   0.0656 .  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) RltdRl cntr_c lgtrgt knw_tr TrlOrd
## RelatedRltd -0.205                                   
## center_cloz  0.100  0.000                            
## logtargtfrq -0.126 -0.018  0.032                     
## know_target -0.581  0.028 -0.128 -0.321              
## TrialOrder  -0.345  0.015  0.005 -0.030 -0.016       
## RltdRltd:c_ -0.020  0.003 -0.293  0.001  0.056 -0.052

Sem model

sem1<-lmer(logRT~Related*center_cloze+logtargetfreq+know_target+TrialOrder+(1+center_cloze|Item)+(1+logtargetfreq|Subject),sem)
summary(sem1)
## Linear mixed model fit by REML t-tests use Satterthwaite approximations
##   to degrees of freedom [lmerMod]
## Formula: logRT ~ Related * center_cloze + logtargetfreq + know_target +  
##     TrialOrder + (1 + center_cloze | Item) + (1 + logtargetfreq |  
##     Subject)
##    Data: sem
## 
## REML criterion at convergence: 64.9
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -4.4327 -0.6080 -0.1084  0.4881  3.5112 
## 
## Random effects:
##  Groups   Name          Variance  Std.Dev.  Corr 
##  Item     (Intercept)   6.826e-03 0.0826174      
##           center_cloze  1.170e-07 0.0003421 -1.00
##  Subject  (Intercept)   2.311e-02 0.1520105      
##           logtargetfreq 1.989e-04 0.0141018 -0.39
##  Residual               5.094e-02 0.2256988      
## Number of obs: 715, groups:  Item, 36; Subject, 25
## 
## Fixed effects:
##                               Estimate Std. Error         df t value
## (Intercept)                  6.906e+00  6.101e-02  6.420e+01 113.185
## RelatedRelated               1.755e-03  1.716e-02  6.480e+02   0.102
## center_cloze                -1.054e-02  4.696e-03  2.740e+01  -2.245
## logtargetfreq               -3.717e-02  1.487e-02  3.510e+01  -2.500
## know_target                 -1.926e-02  6.757e-03  5.082e+02  -2.851
## TrialOrder                  -1.956e-04  1.045e-04  6.683e+02  -1.871
## RelatedRelated:center_cloze  2.878e-03  2.552e-03  6.474e+02   1.127
##                             Pr(>|t|)    
## (Intercept)                  < 2e-16 ***
## RelatedRelated               0.91854    
## center_cloze                 0.03302 *  
## logtargetfreq                0.01723 *  
## know_target                  0.00454 ** 
## TrialOrder                   0.06175 .  
## RelatedRelated:center_cloze  0.25998    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) RltdRl cntr_c lgtrgt knw_tr TrlOrd
## RelatedRltd -0.137                                   
## center_cloz  0.069 -0.002                            
## logtargtfrq -0.548  0.004  0.043                     
## know_target -0.369 -0.003 -0.126 -0.307              
## TrialOrder  -0.258 -0.010 -0.002  0.018 -0.053       
## RltdRltd:c_ -0.029 -0.017 -0.276 -0.018  0.046  0.048

Summarizing the follow-up models

  • The effect of relatedness is found in the ID and Morph models, but it is not found in either the Orth or the Sem models.

Summarizing the study (so far)

The big model (test5) and the follow-up models demonstrate that adult L2 learners show evidence of morphological priming that cannot be attributed to orthographic or semantic priming. The priming effect from morphologically related words does not differ from the effect of repetition priming.

Holy cow, it worked!

Proficiency Analyses

plot(ind_props)

plot(data$cloze,data$lextale,ylim=c(0,1),xlab="Cloze score",ylab="lextale score")

plot(data$yrsinstr,data$cloze)

plot(data$yrsinstr,data$lextale)

Comparing other studies

why didn’t Clahsen’s work? ALL of his targets were 4 words. Try limiting my dataset to only targets that are 3 or 4 words

data_short<-data[data$targetlength<=4,]

short1<-lmer(logRT~Condition*Related+center_cloze+(1|Subject)+(1|Item),data_short)

No effect of relatedness, even in the ID condition. Doesn’t look like stimuli length can explain the difference in studies.