Setup

The Gender Equality Paradox has also been dubbed the Nordic Paradox.

library(remotes)
remotes::install_github("Jo-Karl/ccpsyc")
library(pacman); p_load(psych, lavaan, dplyr, ccpsyc, sjmisc, ggplot2, sandwich, lmtest, umx, tidyr)
describe(IPIPA)
## Warning in FUN(newX[, i], ...): no non-missing arguments to min; returning Inf
## Warning in FUN(newX[, i], ...): no non-missing arguments to max; returning -Inf
with(droplevels(IPIPA), list(levels = levels(as.factor(COUNTRY)), nlevels = nlevels(as.factor(COUNTRY))))
## $levels
##   [1] ""            " Greece"     " Japan"      "Afghanistan" "Albania"    
##   [6] "Algeria"     "Andorra"     "Angola"      "Anguilla"    "Antarctica" 
##  [11] "Antigua"     "Arabian Gul" "Argentina"   "Armenia"     "Aruba"      
##  [16] "Australia"   "Austria"     "Azerbaijan"  "Bahamas"     "Bahrain"    
##  [21] "Bangladesh"  "Barbados"    "Belarus"     "Belgium"     "Belize"     
##  [26] "Benin"       "Bermuda"     "Bhutan"      "Bolivia"     "Borneo"     
##  [31] "Bosnia Herz" "Botswana"    "Bouvet Isla" "Brazil"      "British Ind"
##  [36] "British Vir" "Brunei"      "Bulgaria"    "Burkina Fas" "Burma"      
##  [41] "Burma(Myanm" "Burundi"     "Cambodia"    "Cameroon"    "Canada"     
##  [46] "Cape Verde"  "Cayman Isla" "Central Afr" "Chad"        "Chile"      
##  [51] "China"       "Christmas I" "Cocos (Keel" "Columbia"    "Comoros"    
##  [56] "Congo"       "Cook Island" "Costa Rica"  "Croatia"     "Cuba"       
##  [61] "Cyprus"      "Czech Repub" "Denmark"     "Djibouti"    "Dominica"   
##  [66] "Dominican R" "East Timor"  "Ecuador"     "Egypt"       "El Salvador"
##  [71] "Equatorial"  "Eritrea"     "Estonia"     "Ethiopia"    "Faeroe Isla"
##  [76] "Falkland Is" "Fiji"        "Finland"     "France"      "French Guia"
##  [81] "French Poly" "Gabon"       "Gambia"      "Georgia"     "Germany"    
##  [86] "Ghana"       "Gibraltar"   "Greece"      "Greenland"   "Grenada"    
##  [91] "Guadeloupe"  "Guam"        "Guatemala"   "Guinea"      "Guinea-Biss"
##  [96] "Guyana"      "Haiti"       "Honduras"    "Hong Kong"   "Hungary"    
## [101] "Iceland"     "India"       "Indonesia"   "Iran"        "Iraq"       
## [106] "Ireland"     "Israel"      "Italy"       "Ivory Coast" "Jamaica"    
## [111] "Japan"       "Johnston Is" "Jordan"      "Kazakhstan"  "Kenya"      
## [116] "Kuwait"      "Kyrgystan"   "Lao P.Dem.R" "Latvia"      "Lebanon"    
## [121] "Lesotho"     "Liberia"     "Libyan Arab" "Liechtenste" "Lithuania"  
## [126] "Luxembourg"  "Macau"       "Macedonia"   "Madagascar"  "Malawi"     
## [131] "Malaysia"    "Maldives"    "Mali"        "Malta"       "Marshall Is"
## [136] "Martinique"  "Mauritania"  "Mauritius"   "Mexico"      "Micronesia" 
## [141] "Moldova"     "Monaco"      "Mongolia"    "Montserrat"  "Morocco"    
## [146] "Mozambique"  "Namibia"     "Nepal"       "Netherlands" "New Caledon"
## [151] "New Zealand" "Nicaragua"   "Niger"       "Nigeria"     "Niue"       
## [156] "Norfolk Isl" "North Korea" "Northern Ma" "Norway"      "Oman"       
## [161] "Pakistan"    "Palau"       "Panama"      "Papua New G" "Paraguay"   
## [166] "Peru"        "Philippines" "Pitcairn Is" "Poland"      "Portugal"   
## [171] "Puerto Rico" "Qatar"       "Republic of" "Reunion"     "Romania"    
## [176] "Russian Fed" "Rwanda"      "Saint Helen" "Saint Kitts" "Samoa"      
## [181] "San Marino"  "Saudi Arabi" "Senegal"     "Serbia"      "Seychelles" 
## [186] "Sierra Leon" "Singapore"   "Slovakia"    "Slovenia"    "Solomon Isl"
## [191] "Somalia"     "South Afric" "South Korea" "Spain"       "Sri Lanka"  
## [196] "St Lucia"    "St Vincent"  "Sudan"       "Suriname"    "Svalbard &" 
## [201] "Swaziland"   "Sweden"      "Switzerland" "Syria"       "Taiwan"     
## [206] "Tanzania"    "Thailand"    "Togo"        "Tokelau"     "Tonga"      
## [211] "Trinidad an" "Tunisia"     "Turkey"      "Turkmenista" "Turks and C"
## [216] "Tuvalu"      "Uganda"      "UK"          "Ukraine"     "United Arab"
## [221] "Uruguay"     "USA"         "Uzbekistan"  "Vanuatu"     "Vatican"    
## [226] "Vatican Cit" "Venezuela"   "Vietnam"     "Virgin Isla" "W. Samoa"   
## [231] "Wake Island" "Wallis and"  "Western Sah" "Yemen"       "Yugoslavia" 
## [236] "Zaire"       "Zambia"      "Zimbabwe"   
## 
## $nlevels
## [1] 238

I used the 2015 Gender Gap Index (henceforth GEI) values for available countries with sufficient numbers of participants from both sexes (around 100 and similar group sizes at the lower end, with a GEI entry). Those values are available here: https://www3.weforum.org/docs/GGGR2015/cover.pdf. The data went online in 2015; it is the IPIP300.por file available here: https://osf.io/tbmh5/. Giolla & Kajonius (2018) used a more limited subset of 22 countries and all OCEAN/Big Five scores and data from 2018. They found a positive relationship between the GEI and male-female differences.

IPIPA %>% group_by(COUNTRY, SEX) %>% summarise(Participants = length(COUNTRY))
## `summarise()` has grouped output by 'COUNTRY'. You can override using the `.groups` argument.

Applicable countries were Albania, Algeria, Argentina, Australia, Austria, Belgium, Brazil, Canada, China, Colombia (misspelled ‘Columbia’ in the dataset), Croatia, Denmark, Egypt, Finland, France, Germany, Greece, India, Indonesia, Ireland, Israel, Italy, Japan, Malaysia, Mexico, the Netherlands, New Zealand, Norway, Pakistan, the Philippines, Poland, Portugal, Romania, Russia, Singapore, South Africa, South Korea, Spain, Sweden, Switzerland, Thailand, Turkey, UK, United Arab Emirates, and the USA.

#Select countries

IPIPA <- IPIPA[IPIPA$COUNTRY %in% c("Albania", "Algeria", "Argentina", "Australia", "Austria", "Belgium", "Brazil", "Canada", "China", "Columbia", "Croatia", "Denmark", "Egypt", "Finland", "France", "Germany", "Greece", "India", "Indonesia", "Ireland", "Israel", "Italy", "Japan", "Malaysia", "Mexico", "Netherlands", "New Zealand", "Norway", "Pakistan", "Philippines", "Poland", "Portugal", "Romania", "Russian Fed", "Singapore", "South Afric", "South Korea", "Spain", "Sweden", "Switzerland", "Thailand", "Turkey", "UK", "United Arab", "USA"), ]
with(droplevels(IPIPA), list(levels = levels(as.factor(COUNTRY)), nlevels = nlevels(as.factor(COUNTRY))))
## $levels
##  [1] "Albania"     "Algeria"     "Argentina"   "Australia"   "Austria"    
##  [6] "Belgium"     "Brazil"      "Canada"      "China"       "Columbia"   
## [11] "Croatia"     "Denmark"     "Egypt"       "Finland"     "France"     
## [16] "Germany"     "Greece"      "India"       "Indonesia"   "Ireland"    
## [21] "Israel"      "Italy"       "Japan"       "Malaysia"    "Mexico"     
## [26] "Netherlands" "New Zealand" "Norway"      "Pakistan"    "Philippines"
## [31] "Poland"      "Portugal"    "Romania"     "Russian Fed" "Singapore"  
## [36] "South Afric" "South Korea" "Spain"       "Sweden"      "Switzerland"
## [41] "Thailand"    "Turkey"      "UK"          "United Arab" "USA"        
## 
## $nlevels
## [1] 45
#Compute Variables

IPIPA <- mutate(IPIPA, 
                AchievementStriving = I20 + I50 + I80 + I110 + I140 + I170 + I200 - (6 - I230) - (6 - I260) - (6 - I290),
                ActivityLevel = I17 + I47 + I77 + I107 + I137 - (6 - I167) - (6 - I197) - (6 - I227) - (6 - I257) - (6 - I287),
                Adventurousness = I18 + I48 + I78 + I108 - (6 - I138) - (6 - I168) - (6 - I198) - (6 - I228) - (6 - I258) - (6 - I288),
                Altruism = I14 + I44 + I74 + I104 + I134 - (6 - I164) - (6 - I194) - (6 - I224) - (6 - I254) - (6 - I284), 
                Anger = I6 + I36 + I66 + I96 + I126 - (6 - I156) - (6 - I187 )- (6 - I216) - (6 - I246) - (6 - I276),
                Anxiety = I1 + I31 + I61 + I91 + I121 - (6 - I151) - (6 - I181) - (6 - I211) - (6 - I241) - (6 - I271),
                ArtisticInterests = I8 + I38 + I68 + I98 + I128 - (6 - I158) - (6 - I188) - (6 - I218) - (6 - I248) - (6 - I278),
                Assertiveness = I12 + I42 + I72 + I102 + I132 - (6 - I162) - (6 - I192) - (6 - I222) - (6 - I252) - (6 - I282),
                Cautiousness = I30 + I60 + I90 - (6 - I120) - (6 - I150) - (6 - I180) - (6 - I210) - (6 - I240) - (6 - I270) - (6 - I300),
                Cheerfulness = I27 + I57 + I87 + I117 + I147 + I177 + I207 + I237 - (6 - I267) - (6 - I297),
                Cooperation = I19 + I49 + I79 - (6 - I109) - (6 - I139) - (6 - I169) - (6 - I199) - (6 - I229) - (6 - I259) - (6 - I289),
                Depression = I11 + I41 + I71 + I101 + I131 + I161 + I191 - (6 - I221) - (6 - I251) - (6 - I281),
                Dutifulness = I15 + I45 + I75 + I105 + I135 - (6 - I165) - (6 - I195) - (6 - I225) - (6 - I255) - (6 - I285),
                Emotionality = I13 + I43 + I73 + I103 + I133 - (6 - I163) - (6 - I193) - (6 - I223) - (6 - I253) - (6 - I283),
                ExcitementSeeking = I22 + I52 + I82 + I112 + I142 + I172 + I202 - (6 - I262) - (6 - I292),
                Friendliness = I2 + I32 + I62 + I92 + I122 - (6 - I152) - (6 - I182) - (6 - I212) - (6 - I242) - (6 - I272),
                Gregariousness = I7 + I37 + I67 + I97 + I127 - (6 - I157) - (6 - I187) - (6 - I217) - (6 - I247) - (6 - I277),
                Imagination = I3 + I33 + I63 + I93 + I123 + I153 - (6 - I183) - (6 - I213) - (6 - I243) - (6 - I273),
                Immoderation = I21 + I51 + I81 + I111 + I141 - (6 - I171) - (6 - I201) - (6 - I231) - (6 - I261) - (6 - I291),
                Intellect = I23 + I53 + I83 + I113 + I143 - (6 - I173) - (6 - I203) - (6 - I233) - (6 - I263) - (6 - I293),
                Liberalism = I28 + I58 + I88 - (6 - I118) - (6 - I148) - (6 - I178) - (6 - I208) - (6 - I238) - (6 - I268) - (6 - I298),
                Modesty = I24 + I54 + I84 + I114 - (6 - I144) - (6 - I174) - (6 - I204) - (6 - I234) - (6 - I264) - (6 - I294),
                Morality = I9 + I39 - (6 - I69) - (6 - I99) - (6 - I129) - (6 - I159) - (6 - I189) - (6 - I219) - (6 - I249) - (6 - I279),
                Orderliness = I10 + I40 + I70 + I100 + I130 - (6 - I160) - (6 - I190) - (6 - I220) - (6 - I250) - (6 - I280),
                SelfConsciousness = I16 + I46 + I76 + I106 + I136 + I166 - (6 - I196) - (6 - I226) - (6 - I256) - (6 - I286),
                SelfDiscipline = I25 + I55 + I85 + I115 + I145 - (6 - I175) - (6 - I205) - (6 - I235) - (6 - I265) - (6 - I295),
                SelfEfficacy = I5 + I35 + I65 + I95 + I125 + I155 - (6 - I185) - (6 - I215) - (6 - I245) - (6 - I275),
                Sympathy = I29 + I59 + I89 + I119 - (6 - I149) - (6 - I179) - (6 - I209) - (6 - I239) - (6 - I269) - (6 - I299),
                Trust = I4 + I34 + I64 + I94 + I124 + I154 - (6 - I184) - (6 - I214) - (6 - I244) - (6 - I274),
                Vulnerability = I26 + I56 + I86 + I116 + I146 - (6 - I176) - (6 - I206) - (6 - I236) - (6 - I266) - (6 - I296),
                Openness = Liberalism + Intellect + Adventurousness + Emotionality + ArtisticInterests + Imagination,
                Neuroticism = Vulnerability + Immoderation + SelfConsciousness + Depression + Anger + Anxiety,
                Extraversion = Cheerfulness + ExcitementSeeking + ActivityLevel + Assertiveness + Gregariousness + Friendliness,
                Conscientiousness = Cautiousness + SelfDiscipline + AchievementStriving + Dutifulness + Orderliness + SelfEfficacy,
                Agreeableness = Sympathy + Modesty + Cooperation + Altruism + Morality + Trust)

IPIPA$SEXO <- rec(IPIPA$SEX, rec = "1 = MALE; 2 = FEMALE")
IPIPA$GEI <- rec(IPIPA$COUNTRY, rec = "Albania = 0.701; Algeria = 0.632; Argentina = 0.734; Australia, Austria = 0.733; Belgium = 0.753; Brazil = 0.686; Canada, USA = 0.740; China = 0.682; Columbia = 0.725; Croatia = 0.708; Denmark = 0.767; Egypt = 0.599; Finland, Norway = 0.850; France = 0.761; Germany = 0.779; Greece = 0.685; India = 0.664; Indonesia = 0.681; Ireland = 0.807; Israel = 0.712; Italy = 0.726; Japan = 0.670; Malaysia = 0.655; Mexico = 0.699; Netherlands = 0.776; New Zealand = 0.782; Pakistan = 0.559; Philippines = 0.790; Poland = 0.715; Portugal = 0.731; Romania = 0.693; Russian Fed = 0.694; Singapore = 0.711; South Afric = 0.759; South Korea = 0.651; Spain = 0.742; Sweden = 0.823; Switzerland = 0.785; Thailand = 0.706; Turkey = 0.624; UK = 0.758; United Arab = 0.646")
#Create Country-specific DFs

ALBIP <- subset(IPIPA, COUNTRY == "Albania")
ALGIP <- subset(IPIPA, COUNTRY == "Algeria")
ARGIP <- subset(IPIPA, COUNTRY == "Argentina")
AUSIP <- subset(IPIPA, COUNTRY == "Australia")
HABIP <- subset(IPIPA, COUNTRY == "Austria")
BELIP <- subset(IPIPA, COUNTRY == "Belgium")
BRAIP <- subset(IPIPA, COUNTRY == "Brazil")
CANIP <- subset(IPIPA, COUNTRY == "Canada")
CHIIP <- subset(IPIPA, COUNTRY == "China")
COLIP <- subset(IPIPA, COUNTRY == "Columbia")
CROIP <- subset(IPIPA, COUNTRY == "Croatia")
DENIP <- subset(IPIPA, COUNTRY == "Denmark")
EGYIP <- subset(IPIPA, COUNTRY == "Egypt")
FINIP <- subset(IPIPA, COUNTRY == "Finland")
FRAIP <- subset(IPIPA, COUNTRY == "France")
GERIP <- subset(IPIPA, COUNTRY == "Germany")
GREIP <- subset(IPIPA, COUNTRY == "Greece")
INDIP <- subset(IPIPA, COUNTRY == "India")
INOIP <- subset(IPIPA, COUNTRY == "Indonesia")
IREIP <- subset(IPIPA, COUNTRY == "Ireland")
ISRIP <- subset(IPIPA, COUNTRY == "Israel")
ITAIP <- subset(IPIPA, COUNTRY == "Italy")
JAPIP <- subset(IPIPA, COUNTRY == "Japan")
MALIP <- subset(IPIPA, COUNTRY == "Malaysia")
MEXIP <- subset(IPIPA, COUNTRY == "Mexico")
NETIP <- subset(IPIPA, COUNTRY == "Netherlands")
NEWIP <- subset(IPIPA, COUNTRY == "New Zealand") 
NORIP <- subset(IPIPA, COUNTRY == "Norway")
PAKIP <- subset(IPIPA, COUNTRY == "Pakistan")
PHIIP <- subset(IPIPA, COUNTRY == "Philippines")
POLIP <- subset(IPIPA, COUNTRY == "Poland")
PORIP <- subset(IPIPA, COUNTRY == "Portugal")
ROMIP <- subset(IPIPA, COUNTRY == "Romania")
RUSIP <- subset(IPIPA, COUNTRY == "Russian Fed")
SINIP <- subset(IPIPA, COUNTRY == "Singapore")
SOUIP <- subset(IPIPA, COUNTRY == "South Afric")
SKOIP <- subset(IPIPA, COUNTRY == "South Korea")
SPAIP <- subset(IPIPA, COUNTRY == "Spain")
SWEIP <- subset(IPIPA, COUNTRY == "Sweden")
SWIIP <- subset(IPIPA, COUNTRY == "Switzerland")
THAIP <- subset(IPIPA, COUNTRY == "Thailand")
TURIP <- subset(IPIPA, COUNTRY == "Turkey")
UKIP  <- subset(IPIPA, COUNTRY == "UK")
UAEIP <- subset(IPIPA, COUNTRY == "United Arab")
USAIP <- subset(IPIPA, COUNTRY == "USA")

Analysis

Compute the Variables

Averaging is done for comparability to the unbiased d value (i.e., the one based on part-wise averaging to circumvent issues with their correlations; see below).

A reference item had to be chosen to exactly follow the method used by Nye & Drasgow (2011). To that end, I chose the variable with the closest variance between groups, since this is the least likely to be biased because it is the least likely to be impacted by different causes. The logic behind this has been explained by people like Cronbach and Lewbel and (update: Nick Huntington-Klein also noticed it!). In short, say we have a score composed of “reliable” variance and “error” or X = T + E. Error is often treated as if it is just there, not a cause of scoring in its own right, but if we had perfect knowledge of all the causes of a score, that would include an understanding of the causes for error. The residual variance contains causes, and if one group has greater residual variance with the same well-fitting model of the means and covariances, it has additional causes (or moderation in some fashion) acting on it. The smallest SD gap was for Immoderation.

The problem with reference selection via comparing indicator variances is that the sexes could differ for reasons that have nothing to do with bias. We are interested in the residual variances when it comes to the statement that there are different causes at work, and bias could reduce a real difference in the variances. I picked the variable with the closest variance difference to the mean difference. This was Vulnerability.

IPIPA %>% group_by(SEXO) %>% summarise_at(vars(Vulnerability, Immoderation, SelfConsciousness, Depression, Anger, Anxiety), list(mean = mean, sd = sd))
#mean(7.417043, 7.055355, 7.552758, 9.419106, 7.770710, 7.557831) - mean(7.281363, 6.958740, 7.660362, 9.605256, 7.979225, 7.760293)

abs(0.13568 - abs(7.417043 - 7.281363))
## [1] 1.94289e-16
abs(0.13568 - abs(7.055355 - 6.958740))
## [1] 0.039065
abs(0.13568 - abs(7.552758 - 7.660362))
## [1] 0.028076
abs(0.13568 - abs(9.419106 - 9.605256))
## [1] 0.05047
abs(0.13568 - abs(7.770710 - 7.979225))
## [1] 0.072835
abs(0.13568 - abs(7.557831 - 7.760293))
## [1] 0.066782
#Single-Factor Model of Neuroticism and Sum of dMACS

NeurotModel <- '
LatentNeuroticism =~ 1*Vulnerability + Immoderation + SelfConsciousness + Depression + Anger + Anxiety'

NeurAlb <- cfa(NeurotModel, data = ALBIP, group = "SEXO"); dAlb <- dMACS_True(NeurAlb, group1 = "MALE", group2 = "FEMALE")/6; sum(dAlb)
## [1] -0.2605
NeurAlg <- cfa(NeurotModel, data = ALGIP, group = "SEXO"); dAlg <- dMACS_True(NeurAlg, group1 = "MALE", group2 = "FEMALE")/6; sum(dAlg)
## [1] 0.189
NeurArg <- cfa(NeurotModel, data = ARGIP, group = "SEXO"); dArg <- dMACS_True(NeurArg, group1 = "MALE", group2 = "FEMALE")/6; sum(dArg)
## [1] 0.1858333
NeurAus <- cfa(NeurotModel, data = AUSIP, group = "SEXO"); dAus <- dMACS_True(NeurAus, group1 = "MALE", group2 = "FEMALE")/6; sum(dAus)
## [1] -0.3865
NeurHab <- cfa(NeurotModel, data = HABIP, group = "SEXO"); dHab <- dMACS_True(NeurHab, group1 = "MALE", group2 = "FEMALE")/6; sum(dHab)
## [1] -0.3345
NeurBel <- cfa(NeurotModel, data = BELIP, group = "SEXO"); dBel <- dMACS_True(NeurBel, group1 = "MALE", group2 = "FEMALE")/6; sum(dBel)
## [1] -0.2925
NeurBra <- cfa(NeurotModel, data = BRAIP, group = "SEXO"); dBra <- dMACS_True(NeurAus, group1 = "MALE", group2 = "FEMALE")/6; sum(dBra)
## [1] -0.3865
NeurCan <- cfa(NeurotModel, data = CANIP, group = "SEXO"); dCan <- dMACS_True(NeurCan, group1 = "MALE", group2 = "FEMALE")/6; sum(dCan)
## [1] -0.3181667
NeurChi <- cfa(NeurotModel, data = CHIIP, group = "SEXO"); dChi <- dMACS_True(NeurChi, group1 = "MALE", group2 = "FEMALE")/6; sum(dChi)
## [1] -0.2453333
NeurCol <- cfa(NeurotModel, data = COLIP, group = "SEXO"); dCol <- dMACS_True(NeurCol, group1 = "MALE", group2 = "FEMALE")/6; sum(dCol)
## [1] 0.3338333
NeurCro <- cfa(NeurotModel, data = CROIP, group = "SEXO"); dCro <- dMACS_True(NeurCro, group1 = "MALE", group2 = "FEMALE")/6; sum(dCro)
## [1] 0.3813333
NeurDen <- cfa(NeurotModel, data = DENIP, group = "SEXO"); dDen <- dMACS_True(NeurDen, group1 = "MALE", group2 = "FEMALE")/6; sum(dDen)
## [1] 0.3936667
NeurEgy <- cfa(NeurotModel, data = EGYIP, group = "SEXO"); dEgy <- dMACS_True(NeurEgy, group1 = "MALE", group2 = "FEMALE")/6; sum(dEgy)
## [1] 0.5061667
NeurFin <- cfa(NeurotModel, data = FINIP, group = "SEXO"); dFin <- dMACS_True(NeurFin, group1 = "MALE", group2 = "FEMALE")/6; sum(dFin)
## [1] -0.3306667
NeurFra <- cfa(NeurotModel, data = FRAIP, group = "SEXO"); dFra <- dMACS_True(NeurFra, group1 = "MALE", group2 = "FEMALE")/6; sum(dFra)
## [1] 0.4063333
NeurGer <- cfa(NeurotModel, data = GERIP, group = "SEXO"); dGer <- dMACS_True(NeurGer, group1 = "MALE", group2 = "FEMALE")/6; sum(dGer)
## [1] -0.2878333
NeurGre <- cfa(NeurotModel, data = GREIP, group = "SEXO"); dGre <- dMACS_True(NeurGre, group1 = "MALE", group2 = "FEMALE")/6; sum(dGre)
## [1] 0.2106667
NeurInd <- cfa(NeurotModel, data = INDIP, group = "SEXO"); dInd <- dMACS_True(NeurInd, group1 = "MALE", group2 = "FEMALE")/6; sum(dInd)
## [1] -0.357
NeurIno <- cfa(NeurotModel, data = INOIP, group = "SEXO"); dIno <- dMACS_True(NeurIno, group1 = "MALE", group2 = "FEMALE")/6; sum(dIno)
## [1] -0.1233333
NeurIre <- cfa(NeurotModel, data = IREIP, group = "SEXO"); dIre <- dMACS_True(NeurIre, group1 = "MALE", group2 = "FEMALE")/6; sum(dIre)
## [1] -0.4068333
NeurIsr <- cfa(NeurotModel, data = ISRIP, group = "SEXO"); dIsr <- dMACS_True(NeurIsr, group1 = "MALE", group2 = "FEMALE")/6; sum(dIsr)
## [1] 0.5388333
NeurIta <- cfa(NeurotModel, data = ITAIP, group = "SEXO"); dIta <- dMACS_True(NeurIta, group1 = "MALE", group2 = "FEMALE")/6; sum(dIta)
## [1] 0.4876667
NeurJap <- cfa(NeurotModel, data = JAPIP, group = "SEXO"); dJap <- dMACS_True(NeurJap, group1 = "MALE", group2 = "FEMALE")/6; sum(dJap)
## [1] 0.2751667
NeurMal <- cfa(NeurotModel, data = MALIP, group = "SEXO"); dMal <- dMACS_True(NeurMal, group1 = "MALE", group2 = "FEMALE")/6; sum(dMal)
## [1] 0.2463333
NeurMex <- cfa(NeurotModel, data = MEXIP, group = "SEXO"); dMex <- dMACS_True(NeurMex, group1 = "MALE", group2 = "FEMALE")/6; sum(dMex)
## [1] -0.1115
NeurNet <- cfa(NeurotModel, data = NETIP, group = "SEXO"); dNet <- dMACS_True(NeurNet, group1 = "MALE", group2 = "FEMALE")/6; sum(dNet)
## [1] 0.3741667
NeurNew <- cfa(NeurotModel, data = NEWIP, group = "SEXO"); dNew <- dMACS_True(NeurNew, group1 = "MALE", group2 = "FEMALE")/6; sum(dNew)
## [1] 0.3656667
NeurNor <- cfa(NeurotModel, data = NORIP, group = "SEXO"); dNor <- dMACS_True(NeurNor, group1 = "MALE", group2 = "FEMALE")/6; sum(dNor)
## [1] -0.2996667
NeurPak <- cfa(NeurotModel, data = PAKIP, group = "SEXO"); dPak <- dMACS_True(NeurPak, group1 = "MALE", group2 = "FEMALE")/6; sum(dPak)
## [1] -0.3146667
NeurPhi <- cfa(NeurotModel, data = PHIIP, group = "SEXO"); dPhi <- dMACS_True(NeurPhi, group1 = "MALE", group2 = "FEMALE")/6; sum(dPhi)
## [1] -0.2783333
NeurPol <- cfa(NeurotModel, data = POLIP, group = "SEXO"); dPol <- dMACS_True(NeurPol, group1 = "MALE", group2 = "FEMALE")/6; sum(dPol)
## [1] 0.1726667
NeurPor <- cfa(NeurotModel, data = PORIP, group = "SEXO"); dPor <- dMACS_True(NeurPor, group1 = "MALE", group2 = "FEMALE")/6; sum(dPor)
## [1] -0.1993333
NeurRom <- cfa(NeurotModel, data = ROMIP, group = "SEXO"); dRom <- dMACS_True(NeurRom, group1 = "MALE", group2 = "FEMALE")/6; sum(dRom)
## [1] -0.3101667
NeurRus <- cfa(NeurotModel, data = RUSIP, group = "SEXO"); dRus <- dMACS_True(NeurRus, group1 = "MALE", group2 = "FEMALE")/6; sum(dRus)
## [1] 0.2561667
NeurSin <- cfa(NeurotModel, data = SINIP, group = "SEXO"); dSin <- dMACS_True(NeurSin, group1 = "MALE", group2 = "FEMALE")/6; sum(dSin)
## [1] -0.3403333
NeurSou <- cfa(NeurotModel, data = SOUIP, group = "SEXO"); dSou <- dMACS_True(NeurSou, group1 = "MALE", group2 = "FEMALE")/6; sum(dSou)
## [1] -0.3425
NeurSKo <- cfa(NeurotModel, data = SKOIP, group = "SEXO"); dSKo <- dMACS_True(NeurSKo, group1 = "MALE", group2 = "FEMALE")/6; sum(dSKo)
## [1] 0.2763333
NeurSpa <- cfa(NeurotModel, data = SPAIP, group = "SEXO"); dSpa <- dMACS_True(NeurSpa, group1 = "MALE", group2 = "FEMALE")/6; sum(dSpa)
## [1] -0.34
NeurSwe <- cfa(NeurotModel, data = SWEIP, group = "SEXO"); dSwe <- dMACS_True(NeurSwe, group1 = "MALE", group2 = "FEMALE")/6; sum(dSwe)
## [1] 0.3095
NeurSwi <- cfa(NeurotModel, data = SWIIP, group = "SEXO"); dSwi <- dMACS_True(NeurSwi, group1 = "MALE", group2 = "FEMALE")/6; sum(dSwi)
## [1] -0.529
NeurTha <- cfa(NeurotModel, data = THAIP, group = "SEXO"); dTha <- dMACS_True(NeurTha, group1 = "MALE", group2 = "FEMALE")/6; sum(dTha)
## [1] 0.05033333
NeurTur <- cfa(NeurotModel, data = TURIP, group = "SEXO"); dTur <- dMACS_True(NeurTur, group1 = "MALE", group2 = "FEMALE")/6; sum(dTur)
## [1] -0.1413333
NeurUK  <- cfa(NeurotModel, data = UKIP,  group = "SEXO"); dUK  <- dMACS_True(NeurUK,  group1 = "MALE", group2 = "FEMALE")/6; sum(dUK)
## [1] 0.3188333
NeurUAE <- cfa(NeurotModel, data = UAEIP, group = "SEXO"); dUAE <- dMACS_True(NeurUAE, group1 = "MALE", group2 = "FEMALE")/6; sum(dUAE)
## [1] -0.6493333
NeurUSA <- cfa(NeurotModel, data = USAIP, group = "SEXO"); dUSA <- dMACS_True(NeurUSA, group1 = "MALE", group2 = "FEMALE")/6; sum(dUSA)
## [1] 0.3023333

As should be done due to the distortion in sumscores as a result of the imperfect correlations of their parts (i.e., the composite score extremity effect), we can compute and compare the sum of d’s for facets and the d for the sumscore. The former is the desired quantity until we have an actual aggregated dMACS. We could figure it out with the loadings, but it’s needlessly time-consuming when everything should be approximately equal.

#d for Sumscore

dOAlb = cohen.d(ALBIP$Neuroticism, ALBIP$SEX); dOAlb$cohen.d[,2]
##    effect 
## 0.3104432
dOAlg = cohen.d(ALGIP$Neuroticism, ALGIP$SEX); dOAlg$cohen.d[,2]
##    effect 
## 0.2048881
dOArg = cohen.d(ARGIP$Neuroticism, ARGIP$SEX); dOArg$cohen.d[,2]
##    effect 
## 0.2497773
dOAus = cohen.d(AUSIP$Neuroticism, AUSIP$SEX); dOAus$cohen.d[,2]
##    effect 
## 0.4841326
dOHab = cohen.d(HABIP$Neuroticism, HABIP$SEX); dOHab$cohen.d[,2]
##    effect 
## 0.3710997
dOBel = cohen.d(BELIP$Neuroticism, BELIP$SEX); dOBel$cohen.d[,2]
##    effect 
## 0.3196483
dOBra = cohen.d(BRAIP$Neuroticism, BRAIP$SEX); dOBra$cohen.d[,2]
##    effect 
## 0.3714844
dOCan = cohen.d(CANIP$Neuroticism, CANIP$SEX); dOCan$cohen.d[,2]
##    effect 
## 0.4035774
dOChi = cohen.d(CHIIP$Neuroticism, CHIIP$SEX); dOChi$cohen.d[,2]
##    effect 
## 0.3071515
dOCol = cohen.d(COLIP$Neuroticism, COLIP$SEX); dOCol$cohen.d[,2]
##    effect 
## 0.3449715
dOCro = cohen.d(CROIP$Neuroticism, CROIP$SEX); dOCro$cohen.d[,2]
##    effect 
## 0.4613239
dODen = cohen.d(DENIP$Neuroticism, DENIP$SEX); dODen$cohen.d[,2]
##    effect 
## 0.5104887
dOEgy = cohen.d(EGYIP$Neuroticism, EGYIP$SEX); dOEgy$cohen.d[,2]
##   effect 
## 0.632099
dOFin = cohen.d(FINIP$Neuroticism, FINIP$SEX); dOFin$cohen.d[,2]
##   effect 
## 0.415431
dOFra = cohen.d(FRAIP$Neuroticism, FRAIP$SEX); dOFra$cohen.d[,2]
##    effect 
## 0.5181189
dOGer = cohen.d(GERIP$Neuroticism, GERIP$SEX); dOGer$cohen.d[,2]
##   effect 
## 0.348082
dOGre = cohen.d(GREIP$Neuroticism, GREIP$SEX); dOGre$cohen.d[,2]
##    effect 
## 0.2533055
dOInd = cohen.d(INDIP$Neuroticism, INDIP$SEX); dOInd$cohen.d[,2]
##   effect 
## 0.456674
dOIno = cohen.d(INOIP$Neuroticism, INOIP$SEX); dOIno$cohen.d[,2]
##    effect 
## 0.1149468
dOIre = cohen.d(IREIP$Neuroticism, IREIP$SEX); dOIre$cohen.d[,2]
##    effect 
## 0.5070944
dOIsr = cohen.d(ISRIP$Neuroticism, ISRIP$SEX); dOIsr$cohen.d[,2]
##    effect 
## 0.6722948
dOIta = cohen.d(ITAIP$Neuroticism, ITAIP$SEX); dOIta$cohen.d[,2]
##    effect 
## 0.6069695
dOJap = cohen.d(JAPIP$Neuroticism, JAPIP$SEX); dOJap$cohen.d[,2]
##   effect 
## 0.333087
dOMal = cohen.d(MALIP$Neuroticism, MALIP$SEX); dOMal$cohen.d[,2]
##    effect 
## 0.3330984
dOMex = cohen.d(MEXIP$Neuroticism, MEXIP$SEX); dOMex$cohen.d[,2]
##    effect 
## 0.1634371
dONet = cohen.d(NETIP$Neuroticism, NETIP$SEX); dONet$cohen.d[,2]
##    effect 
## 0.5011561
dONew = cohen.d(NEWIP$Neuroticism, NEWIP$SEX); dONew$cohen.d[,2]
##    effect 
## 0.4721986
dONor = cohen.d(NORIP$Neuroticism, NORIP$SEX); dONor$cohen.d[,2]
##    effect 
## 0.3629768
dOPak = cohen.d(PAKIP$Neuroticism, PAKIP$SEX); dOPak$cohen.d[,2]
##    effect 
## 0.3726361
dOPhi = cohen.d(PHIIP$Neuroticism, PHIIP$SEX); dOPhi$cohen.d[,2]
##    effect 
## 0.3642182
dOPol = cohen.d(POLIP$Neuroticism, POLIP$SEX); dOPol$cohen.d[,2]
##    effect 
## 0.2228362
dOPor = cohen.d(PORIP$Neuroticism, PORIP$SEX); dOPor$cohen.d[,2]
##    effect 
## 0.2269227
dORom = cohen.d(ROMIP$Neuroticism, ROMIP$SEX); dORom$cohen.d[,2]
##    effect 
## 0.3822293
dORus = cohen.d(RUSIP$Neuroticism, RUSIP$SEX); dORus$cohen.d[,2]
##    effect 
## 0.3126842
dOSin = cohen.d(SINIP$Neuroticism, SINIP$SEX); dOSin$cohen.d[,2]
##    effect 
## 0.4418945
dOSou = cohen.d(SOUIP$Neuroticism, SOUIP$SEX); dOSou$cohen.d[,2]
##    effect 
## 0.4364684
dOSKo = cohen.d(SKOIP$Neuroticism, SKOIP$SEX); dOSKo$cohen.d[,2]
##    effect 
## 0.3582619
dOSpa = cohen.d(SPAIP$Neuroticism, SPAIP$SEX); dOSpa$cohen.d[,2]
##    effect 
## 0.4074406
dOSwe = cohen.d(SWEIP$Neuroticism, SWEIP$SEX); dOSwe$cohen.d[,2]
##    effect 
## 0.3883253
dOSwi = cohen.d(SWIIP$Neuroticism, SWIIP$SEX); dOSwi$cohen.d[,2]
##   effect 
## 0.650499
dOTha = cohen.d(THAIP$Neuroticism, THAIP$SEX); dOTha$cohen.d[,2]
##     effect 
## 0.04522867
dOTur = cohen.d(TURIP$Neuroticism, TURIP$SEX); dOTur$cohen.d[,2]
##    effect 
## 0.1520373
dOUK  = cohen.d(UKIP$Neuroticism,  UKIP$SEX);  dOUK$cohen.d[,2]
##   effect 
## 0.408826
dOUAE = cohen.d(UAEIP$Neuroticism, UAEIP$SEX); dOUAE$cohen.d[,2]
##    effect 
## 0.7909179
dOUSA = cohen.d(USAIP$Neuroticism, USAIP$SEX); dOUSA$cohen.d[,2]
##    effect 
## 0.4178913
#d for Parts of Sumscores

dOPAlb = (1/6)*(cohen.d(ALBIP$Vulnerability, ALBIP$SEX)$cohen.d[,2] + cohen.d(ALBIP$Immoderation, ALBIP$SEX)$cohen.d[,2] + cohen.d(ALBIP$SelfConsciousness, ALBIP$SEX)$cohen.d[,2] + cohen.d(ALBIP$Depression, ALBIP$SEX)$cohen.d[,2] + cohen.d(ALBIP$Anger, ALBIP$SEX)$cohen.d[,2] + cohen.d(ALBIP$Anxiety, ALBIP$SEX)$cohen.d[,2]); dOPAlb
##    effect 
## 0.2435067
dOPAlg = (1/6)*(cohen.d(ALGIP$Vulnerability, ALGIP$SEX)$cohen.d[,2] + cohen.d(ALGIP$Immoderation, ALGIP$SEX)$cohen.d[,2] + cohen.d(ALGIP$SelfConsciousness, ALGIP$SEX)$cohen.d[,2] + cohen.d(ALGIP$Depression, ALGIP$SEX)$cohen.d[,2] + cohen.d(ALGIP$Anger, ALGIP$SEX)$cohen.d[,2] + cohen.d(ALGIP$Anxiety, ALGIP$SEX)$cohen.d[,2]); dOPAlg
##    effect 
## 0.1643438
dOPArg = (1/6)*(cohen.d(ARGIP$Vulnerability, ARGIP$SEX)$cohen.d[,2] + cohen.d(ARGIP$Immoderation, ARGIP$SEX)$cohen.d[,2] + cohen.d(ARGIP$SelfConsciousness, ARGIP$SEX)$cohen.d[,2] + cohen.d(ARGIP$Depression, ARGIP$SEX)$cohen.d[,2] + cohen.d(ARGIP$Anger, ARGIP$SEX)$cohen.d[,2] + cohen.d(ARGIP$Anxiety, ARGIP$SEX)$cohen.d[,2]); dOPArg
##    effect 
## 0.1978211
dOPAus = (1/6)*(cohen.d(AUSIP$Vulnerability, AUSIP$SEX)$cohen.d[,2] + cohen.d(AUSIP$Immoderation, AUSIP$SEX)$cohen.d[,2] + cohen.d(AUSIP$SelfConsciousness, AUSIP$SEX)$cohen.d[,2] + cohen.d(AUSIP$Depression, AUSIP$SEX)$cohen.d[,2] + cohen.d(AUSIP$Anger, AUSIP$SEX)$cohen.d[,2] + cohen.d(AUSIP$Anxiety, AUSIP$SEX)$cohen.d[,2]); dOPAus
##    effect 
## 0.3820402
dOPHab = (1/6)*(cohen.d(HABIP$Vulnerability, HABIP$SEX)$cohen.d[,2] + cohen.d(HABIP$Immoderation, HABIP$SEX)$cohen.d[,2] + cohen.d(HABIP$SelfConsciousness, HABIP$SEX)$cohen.d[,2] + cohen.d(HABIP$Depression, HABIP$SEX)$cohen.d[,2] + cohen.d(HABIP$Anger, HABIP$SEX)$cohen.d[,2] + cohen.d(HABIP$Anxiety, HABIP$SEX)$cohen.d[,2]); dOPHab
##    effect 
## 0.3094754
dOPBel = (1/6)*(cohen.d(BELIP$Vulnerability, BELIP$SEX)$cohen.d[,2] + cohen.d(BELIP$Immoderation, BELIP$SEX)$cohen.d[,2] + cohen.d(BELIP$SelfConsciousness, BELIP$SEX)$cohen.d[,2] + cohen.d(BELIP$Depression, BELIP$SEX)$cohen.d[,2] + cohen.d(BELIP$Anger, BELIP$SEX)$cohen.d[,2] + cohen.d(BELIP$Anxiety, BELIP$SEX)$cohen.d[,2]); dOPBel
##    effect 
## 0.2618641
dOPBra = (1/6)*(cohen.d(BRAIP$Vulnerability, BRAIP$SEX)$cohen.d[,2] + cohen.d(BRAIP$Immoderation, BRAIP$SEX)$cohen.d[,2] + cohen.d(BRAIP$SelfConsciousness, BRAIP$SEX)$cohen.d[,2] + cohen.d(BRAIP$Depression, BRAIP$SEX)$cohen.d[,2] + cohen.d(BRAIP$Anger, BRAIP$SEX)$cohen.d[,2] + cohen.d(BRAIP$Anxiety, BRAIP$SEX)$cohen.d[,2]); dOPBra
##  effect 
## 0.31262
dOPCan = (1/6)*(cohen.d(CANIP$Vulnerability, CANIP$SEX)$cohen.d[,2] + cohen.d(CANIP$Immoderation, CANIP$SEX)$cohen.d[,2] + cohen.d(CANIP$SelfConsciousness, CANIP$SEX)$cohen.d[,2] + cohen.d(CANIP$Depression, CANIP$SEX)$cohen.d[,2] + cohen.d(CANIP$Anger, CANIP$SEX)$cohen.d[,2] + cohen.d(CANIP$Anxiety, CANIP$SEX)$cohen.d[,2]); dOPCan
##    effect 
## 0.3153231
dOPChi = (1/6)*(cohen.d(CHIIP$Vulnerability, CHIIP$SEX)$cohen.d[,2] + cohen.d(CHIIP$Immoderation, CHIIP$SEX)$cohen.d[,2] + cohen.d(CHIIP$SelfConsciousness, CHIIP$SEX)$cohen.d[,2] + cohen.d(CHIIP$Depression, CHIIP$SEX)$cohen.d[,2] + cohen.d(CHIIP$Anger, CHIIP$SEX)$cohen.d[,2] + cohen.d(CHIIP$Anxiety, CHIIP$SEX)$cohen.d[,2]); dOPChi
##    effect 
## 0.2357846
dOPCol = (1/6)*(cohen.d(COLIP$Vulnerability, COLIP$SEX)$cohen.d[,2] + cohen.d(COLIP$Immoderation, COLIP$SEX)$cohen.d[,2] + cohen.d(COLIP$SelfConsciousness, COLIP$SEX)$cohen.d[,2] + cohen.d(COLIP$Depression, COLIP$SEX)$cohen.d[,2] + cohen.d(COLIP$Anger, COLIP$SEX)$cohen.d[,2] + cohen.d(COLIP$Anxiety, COLIP$SEX)$cohen.d[,2]); dOPCol
##    effect 
## 0.2788671
dOPCro = (1/6)*(cohen.d(CROIP$Vulnerability, CROIP$SEX)$cohen.d[,2] + cohen.d(CROIP$Immoderation, CROIP$SEX)$cohen.d[,2] + cohen.d(CROIP$SelfConsciousness, CROIP$SEX)$cohen.d[,2] + cohen.d(CROIP$Depression, CROIP$SEX)$cohen.d[,2] + cohen.d(CROIP$Anger, CROIP$SEX)$cohen.d[,2] + cohen.d(CROIP$Anxiety, CROIP$SEX)$cohen.d[,2]); dOPCro
##   effect 
## 0.369925
dOPDen = (1/6)*(cohen.d(DENIP$Vulnerability, DENIP$SEX)$cohen.d[,2] + cohen.d(DENIP$Immoderation, DENIP$SEX)$cohen.d[,2] + cohen.d(DENIP$SelfConsciousness, DENIP$SEX)$cohen.d[,2] + cohen.d(DENIP$Depression, DENIP$SEX)$cohen.d[,2] + cohen.d(DENIP$Anger, DENIP$SEX)$cohen.d[,2] + cohen.d(DENIP$Anxiety, DENIP$SEX)$cohen.d[,2]); dOPDen
##    effect 
## 0.4013048
dOPEgy = (1/6)*(cohen.d(EGYIP$Vulnerability, EGYIP$SEX)$cohen.d[,2] + cohen.d(EGYIP$Immoderation, EGYIP$SEX)$cohen.d[,2] + cohen.d(EGYIP$SelfConsciousness, EGYIP$SEX)$cohen.d[,2] + cohen.d(EGYIP$Depression, EGYIP$SEX)$cohen.d[,2] + cohen.d(EGYIP$Anger, EGYIP$SEX)$cohen.d[,2] + cohen.d(EGYIP$Anxiety, EGYIP$SEX)$cohen.d[,2]); dOPEgy
##    effect 
## 0.4913482
dOPFin = (1/6)*(cohen.d(FINIP$Vulnerability, FINIP$SEX)$cohen.d[,2] + cohen.d(FINIP$Immoderation, FINIP$SEX)$cohen.d[,2] + cohen.d(FINIP$SelfConsciousness, FINIP$SEX)$cohen.d[,2] + cohen.d(FINIP$Depression, FINIP$SEX)$cohen.d[,2] + cohen.d(FINIP$Anger, FINIP$SEX)$cohen.d[,2] + cohen.d(FINIP$Anxiety, FINIP$SEX)$cohen.d[,2]); dOPFin
##    effect 
## 0.3260756
dOPFra = (1/6)*(cohen.d(FRAIP$Vulnerability, FRAIP$SEX)$cohen.d[,2] + cohen.d(FRAIP$Immoderation, FRAIP$SEX)$cohen.d[,2] + cohen.d(FRAIP$SelfConsciousness, FRAIP$SEX)$cohen.d[,2] + cohen.d(FRAIP$Depression, FRAIP$SEX)$cohen.d[,2] + cohen.d(FRAIP$Anger, FRAIP$SEX)$cohen.d[,2] + cohen.d(FRAIP$Anxiety, FRAIP$SEX)$cohen.d[,2]); dOPFra
##    effect 
## 0.4018442
dOPGer = (1/6)*(cohen.d(GERIP$Vulnerability, GERIP$SEX)$cohen.d[,2] + cohen.d(GERIP$Immoderation, GERIP$SEX)$cohen.d[,2] + cohen.d(GERIP$SelfConsciousness, GERIP$SEX)$cohen.d[,2] + cohen.d(GERIP$Depression, GERIP$SEX)$cohen.d[,2] + cohen.d(GERIP$Anger, GERIP$SEX)$cohen.d[,2] + cohen.d(GERIP$Anxiety, GERIP$SEX)$cohen.d[,2]); dOPGer
##    effect 
## 0.2797789
dOPGre = (1/6)*(cohen.d(GREIP$Vulnerability, GREIP$SEX)$cohen.d[,2] + cohen.d(GREIP$Immoderation, GREIP$SEX)$cohen.d[,2] + cohen.d(GREIP$SelfConsciousness, GREIP$SEX)$cohen.d[,2] + cohen.d(GREIP$Depression, GREIP$SEX)$cohen.d[,2] + cohen.d(GREIP$Anger, GREIP$SEX)$cohen.d[,2] + cohen.d(GREIP$Anxiety, GREIP$SEX)$cohen.d[,2]); dOPGre
##    effect 
## 0.2011276
dOPInd = (1/6)*(cohen.d(INDIP$Vulnerability, INDIP$SEX)$cohen.d[,2] + cohen.d(INDIP$Immoderation, INDIP$SEX)$cohen.d[,2] + cohen.d(INDIP$SelfConsciousness, INDIP$SEX)$cohen.d[,2] + cohen.d(INDIP$Depression, INDIP$SEX)$cohen.d[,2] + cohen.d(INDIP$Anger, INDIP$SEX)$cohen.d[,2] + cohen.d(INDIP$Anxiety, INDIP$SEX)$cohen.d[,2]); dOPInd
##    effect 
## 0.3551415
dOPIno = (1/6)*(cohen.d(INOIP$Vulnerability, INOIP$SEX)$cohen.d[,2] + cohen.d(INOIP$Immoderation, INOIP$SEX)$cohen.d[,2] + cohen.d(INOIP$SelfConsciousness, INOIP$SEX)$cohen.d[,2] + cohen.d(INOIP$Depression, INOIP$SEX)$cohen.d[,2] + cohen.d(INOIP$Anger, INOIP$SEX)$cohen.d[,2] + cohen.d(INOIP$Anxiety, INOIP$SEX)$cohen.d[,2]); dOPIno
##     effect 
## 0.09796545
dOPIre = (1/6)*(cohen.d(IREIP$Vulnerability, IREIP$SEX)$cohen.d[,2] + cohen.d(IREIP$Immoderation, IREIP$SEX)$cohen.d[,2] + cohen.d(IREIP$SelfConsciousness, IREIP$SEX)$cohen.d[,2] + cohen.d(IREIP$Depression, IREIP$SEX)$cohen.d[,2] + cohen.d(IREIP$Anger, IREIP$SEX)$cohen.d[,2] + cohen.d(IREIP$Anxiety, IREIP$SEX)$cohen.d[,2]); dOPIre
##    effect 
## 0.4007762
dOPIsr = (1/6)*(cohen.d(ISRIP$Vulnerability, ISRIP$SEX)$cohen.d[,2] + cohen.d(ISRIP$Immoderation, ISRIP$SEX)$cohen.d[,2] + cohen.d(ISRIP$SelfConsciousness, ISRIP$SEX)$cohen.d[,2] + cohen.d(ISRIP$Depression, ISRIP$SEX)$cohen.d[,2] + cohen.d(ISRIP$Anger, ISRIP$SEX)$cohen.d[,2] + cohen.d(ISRIP$Anxiety, ISRIP$SEX)$cohen.d[,2]); dOPIsr
##    effect 
## 0.5344007
dOPIta = (1/6)*(cohen.d(ITAIP$Vulnerability, ITAIP$SEX)$cohen.d[,2] + cohen.d(ITAIP$Immoderation, ITAIP$SEX)$cohen.d[,2] + cohen.d(ITAIP$SelfConsciousness, ITAIP$SEX)$cohen.d[,2] + cohen.d(ITAIP$Depression, ITAIP$SEX)$cohen.d[,2] + cohen.d(ITAIP$Anger, ITAIP$SEX)$cohen.d[,2] + cohen.d(ITAIP$Anxiety, ITAIP$SEX)$cohen.d[,2]); dOPIta
##    effect 
## 0.4798951
dOPJap = (1/6)*(cohen.d(JAPIP$Vulnerability, JAPIP$SEX)$cohen.d[,2] + cohen.d(JAPIP$Immoderation, JAPIP$SEX)$cohen.d[,2] + cohen.d(JAPIP$SelfConsciousness, JAPIP$SEX)$cohen.d[,2] + cohen.d(JAPIP$Depression, JAPIP$SEX)$cohen.d[,2] + cohen.d(JAPIP$Anger, JAPIP$SEX)$cohen.d[,2] + cohen.d(JAPIP$Anxiety, JAPIP$SEX)$cohen.d[,2]); dOPJap
##    effect 
## 0.2621303
dOPMal = (1/6)*(cohen.d(MALIP$Vulnerability, MALIP$SEX)$cohen.d[,2] + cohen.d(MALIP$Immoderation, MALIP$SEX)$cohen.d[,2] + cohen.d(MALIP$SelfConsciousness, MALIP$SEX)$cohen.d[,2] + cohen.d(MALIP$Depression, MALIP$SEX)$cohen.d[,2] + cohen.d(MALIP$Anger, MALIP$SEX)$cohen.d[,2] + cohen.d(MALIP$Anxiety, MALIP$SEX)$cohen.d[,2]); dOPMal
##    effect 
## 0.2536049
dOPMex = (1/6)*(cohen.d(MEXIP$Vulnerability, MEXIP$SEX)$cohen.d[,2] + cohen.d(MEXIP$Immoderation, MEXIP$SEX)$cohen.d[,2] + cohen.d(MEXIP$SelfConsciousness, MEXIP$SEX)$cohen.d[,2] + cohen.d(MEXIP$Depression, MEXIP$SEX)$cohen.d[,2] + cohen.d(MEXIP$Anger, MEXIP$SEX)$cohen.d[,2] + cohen.d(MEXIP$Anxiety, MEXIP$SEX)$cohen.d[,2]); dOPMex
##    effect 
## 0.1252991
dOPNet = (1/6)*(cohen.d(NETIP$Vulnerability, NETIP$SEX)$cohen.d[,2] + cohen.d(NETIP$Immoderation, NETIP$SEX)$cohen.d[,2] + cohen.d(NETIP$SelfConsciousness, NETIP$SEX)$cohen.d[,2] + cohen.d(NETIP$Depression, NETIP$SEX)$cohen.d[,2] + cohen.d(NETIP$Anger, NETIP$SEX)$cohen.d[,2] + cohen.d(NETIP$Anxiety, NETIP$SEX)$cohen.d[,2]); dOPNet
##    effect 
## 0.3906305
dOPNew = (1/6)*(cohen.d(NEWIP$Vulnerability, NEWIP$SEX)$cohen.d[,2] + cohen.d(NEWIP$Immoderation, NEWIP$SEX)$cohen.d[,2] + cohen.d(NEWIP$SelfConsciousness, NEWIP$SEX)$cohen.d[,2] + cohen.d(NEWIP$Depression, NEWIP$SEX)$cohen.d[,2] + cohen.d(NEWIP$Anger, NEWIP$SEX)$cohen.d[,2] + cohen.d(NEWIP$Anxiety, NEWIP$SEX)$cohen.d[,2]); dOPNew
##    effect 
## 0.3672418
dOPNor = (1/6)*(cohen.d(NORIP$Vulnerability, NORIP$SEX)$cohen.d[,2] + cohen.d(NORIP$Immoderation, NORIP$SEX)$cohen.d[,2] + cohen.d(NORIP$SelfConsciousness, NORIP$SEX)$cohen.d[,2] + cohen.d(NORIP$Depression, NORIP$SEX)$cohen.d[,2] + cohen.d(NORIP$Anger, NORIP$SEX)$cohen.d[,2] + cohen.d(NORIP$Anxiety, NORIP$SEX)$cohen.d[,2]); dOPNor
##    effect 
## 0.2912541
dOPPak = (1/6)*(cohen.d(PAKIP$Vulnerability, PAKIP$SEX)$cohen.d[,2] + cohen.d(PAKIP$Immoderation, PAKIP$SEX)$cohen.d[,2] + cohen.d(PAKIP$SelfConsciousness, PAKIP$SEX)$cohen.d[,2] + cohen.d(PAKIP$Depression, PAKIP$SEX)$cohen.d[,2] + cohen.d(PAKIP$Anger, PAKIP$SEX)$cohen.d[,2] + cohen.d(PAKIP$Anxiety, PAKIP$SEX)$cohen.d[,2]); dOPPak
##    effect 
## 0.2888258
dOPPhi = (1/6)*(cohen.d(PHIIP$Vulnerability, PHIIP$SEX)$cohen.d[,2] + cohen.d(PHIIP$Immoderation, PHIIP$SEX)$cohen.d[,2] + cohen.d(PHIIP$SelfConsciousness, PHIIP$SEX)$cohen.d[,2] + cohen.d(PHIIP$Depression, PHIIP$SEX)$cohen.d[,2] + cohen.d(PHIIP$Anger, PHIIP$SEX)$cohen.d[,2] + cohen.d(PHIIP$Anxiety, PHIIP$SEX)$cohen.d[,2]); dOPPhi
##   effect 
## 0.276129
dOPPol = (1/6)*(cohen.d(POLIP$Vulnerability, POLIP$SEX)$cohen.d[,2] + cohen.d(POLIP$Immoderation, POLIP$SEX)$cohen.d[,2] + cohen.d(POLIP$SelfConsciousness, POLIP$SEX)$cohen.d[,2] + cohen.d(POLIP$Depression, POLIP$SEX)$cohen.d[,2] + cohen.d(POLIP$Anger, POLIP$SEX)$cohen.d[,2] + cohen.d(POLIP$Anxiety, POLIP$SEX)$cohen.d[,2]); dOPPol
##    effect 
## 0.1811741
dOPPor = (1/6)*(cohen.d(PORIP$Vulnerability, PORIP$SEX)$cohen.d[,2] + cohen.d(PORIP$Immoderation, PORIP$SEX)$cohen.d[,2] + cohen.d(PORIP$SelfConsciousness, PORIP$SEX)$cohen.d[,2] + cohen.d(PORIP$Depression, PORIP$SEX)$cohen.d[,2] + cohen.d(PORIP$Anger, PORIP$SEX)$cohen.d[,2] + cohen.d(PORIP$Anxiety, PORIP$SEX)$cohen.d[,2]); dOPPor
##    effect 
## 0.1819325
dOPRom = (1/6)*(cohen.d(ROMIP$Vulnerability, ROMIP$SEX)$cohen.d[,2] + cohen.d(ROMIP$Immoderation, ROMIP$SEX)$cohen.d[,2] + cohen.d(ROMIP$SelfConsciousness, ROMIP$SEX)$cohen.d[,2] + cohen.d(ROMIP$Depression, ROMIP$SEX)$cohen.d[,2] + cohen.d(ROMIP$Anger, ROMIP$SEX)$cohen.d[,2] + cohen.d(ROMIP$Anxiety, ROMIP$SEX)$cohen.d[,2]); dOPRom
##    effect 
## 0.3062691
dOPRus = (1/6)*(cohen.d(RUSIP$Vulnerability, RUSIP$SEX)$cohen.d[,2] + cohen.d(RUSIP$Immoderation, RUSIP$SEX)$cohen.d[,2] + cohen.d(RUSIP$SelfConsciousness, RUSIP$SEX)$cohen.d[,2] + cohen.d(RUSIP$Depression, RUSIP$SEX)$cohen.d[,2] + cohen.d(RUSIP$Anger, RUSIP$SEX)$cohen.d[,2] + cohen.d(RUSIP$Anxiety, RUSIP$SEX)$cohen.d[,2]); dOPRus
##    effect 
## 0.2643918
dOPSin = (1/6)*(cohen.d(SINIP$Vulnerability, SINIP$SEX)$cohen.d[,2] + cohen.d(SINIP$Immoderation, SINIP$SEX)$cohen.d[,2] + cohen.d(SINIP$SelfConsciousness, SINIP$SEX)$cohen.d[,2] + cohen.d(SINIP$Depression, SINIP$SEX)$cohen.d[,2] + cohen.d(SINIP$Anger, SINIP$SEX)$cohen.d[,2] + cohen.d(SINIP$Anxiety, SINIP$SEX)$cohen.d[,2]); dOPSin
##    effect 
## 0.3376697
dOPSou = (1/6)*(cohen.d(SOUIP$Vulnerability, SOUIP$SEX)$cohen.d[,2] + cohen.d(SOUIP$Immoderation, SOUIP$SEX)$cohen.d[,2] + cohen.d(SOUIP$SelfConsciousness, SOUIP$SEX)$cohen.d[,2] + cohen.d(SOUIP$Depression, SOUIP$SEX)$cohen.d[,2] + cohen.d(SOUIP$Anger, SOUIP$SEX)$cohen.d[,2] + cohen.d(SOUIP$Anxiety, SOUIP$SEX)$cohen.d[,2]); dOPSou
##    effect 
## 0.3381776
dOPSKo = (1/6)*(cohen.d(SKOIP$Vulnerability, SKOIP$SEX)$cohen.d[,2] + cohen.d(SKOIP$Immoderation, SKOIP$SEX)$cohen.d[,2] + cohen.d(SKOIP$SelfConsciousness, SKOIP$SEX)$cohen.d[,2] + cohen.d(SKOIP$Depression, SKOIP$SEX)$cohen.d[,2] + cohen.d(SKOIP$Anger, SKOIP$SEX)$cohen.d[,2] + cohen.d(SKOIP$Anxiety, SKOIP$SEX)$cohen.d[,2]); dOPSKo
##    effect 
## 0.2618332
dOPSpa = (1/6)*(cohen.d(SPAIP$Vulnerability, SPAIP$SEX)$cohen.d[,2] + cohen.d(SPAIP$Immoderation, SPAIP$SEX)$cohen.d[,2] + cohen.d(SPAIP$SelfConsciousness, SPAIP$SEX)$cohen.d[,2] + cohen.d(SPAIP$Depression, SPAIP$SEX)$cohen.d[,2] + cohen.d(SPAIP$Anger, SPAIP$SEX)$cohen.d[,2] + cohen.d(SPAIP$Anxiety, SPAIP$SEX)$cohen.d[,2]); dOPSpa
##    effect 
## 0.3229537
dOPSwe = (1/6)*(cohen.d(SWEIP$Vulnerability, SWEIP$SEX)$cohen.d[,2] + cohen.d(SWEIP$Immoderation, SWEIP$SEX)$cohen.d[,2] + cohen.d(SWEIP$SelfConsciousness, SWEIP$SEX)$cohen.d[,2] + cohen.d(SWEIP$Depression, SWEIP$SEX)$cohen.d[,2] + cohen.d(SWEIP$Anger, SWEIP$SEX)$cohen.d[,2] + cohen.d(SWEIP$Anxiety, SWEIP$SEX)$cohen.d[,2]); dOPSwe
##    effect 
## 0.3079226
dOPSwi = (1/6)*(cohen.d(SWIIP$Vulnerability, SWIIP$SEX)$cohen.d[,2] + cohen.d(SWIIP$Immoderation, SWIIP$SEX)$cohen.d[,2] + cohen.d(SWIIP$SelfConsciousness, SWIIP$SEX)$cohen.d[,2] + cohen.d(SWIIP$Depression, SWIIP$SEX)$cohen.d[,2] + cohen.d(SWIIP$Anger, SWIIP$SEX)$cohen.d[,2] + cohen.d(SWIIP$Anxiety, SWIIP$SEX)$cohen.d[,2]); dOPSwi
##    effect 
## 0.5228171
dOPTha = (1/6)*(cohen.d(THAIP$Vulnerability, THAIP$SEX)$cohen.d[,2] + cohen.d(THAIP$Immoderation, THAIP$SEX)$cohen.d[,2] + cohen.d(THAIP$SelfConsciousness, THAIP$SEX)$cohen.d[,2] + cohen.d(THAIP$Depression, THAIP$SEX)$cohen.d[,2] + cohen.d(THAIP$Anger, THAIP$SEX)$cohen.d[,2] + cohen.d(THAIP$Anxiety, THAIP$SEX)$cohen.d[,2]); dOPTha
##    effect 
## 0.0339517
dOPTur = (1/6)*(cohen.d(TURIP$Vulnerability, TURIP$SEX)$cohen.d[,2] + cohen.d(TURIP$Immoderation, TURIP$SEX)$cohen.d[,2] + cohen.d(TURIP$SelfConsciousness, TURIP$SEX)$cohen.d[,2] + cohen.d(TURIP$Depression, TURIP$SEX)$cohen.d[,2] + cohen.d(TURIP$Anger, TURIP$SEX)$cohen.d[,2] + cohen.d(TURIP$Anxiety, TURIP$SEX)$cohen.d[,2]); dOPTur
##    effect 
## 0.1213023
dOPUK = (1/6)*(cohen.d(UKIP$Vulnerability, UKIP$SEX)$cohen.d[,2] + cohen.d(UKIP$Immoderation, UKIP$SEX)$cohen.d[,2] + cohen.d(UKIP$SelfConsciousness, UKIP$SEX)$cohen.d[,2] + cohen.d(UKIP$Depression, UKIP$SEX)$cohen.d[,2] + cohen.d(UKIP$Anger, UKIP$SEX)$cohen.d[,2] + cohen.d(UKIP$Anxiety, UKIP$SEX)$cohen.d[,2]); dOPUK
##    effect 
## 0.3188531
dOPUAE = (1/6)*(cohen.d(UAEIP$Vulnerability, UAEIP$SEX)$cohen.d[,2] + cohen.d(UAEIP$Immoderation, UAEIP$SEX)$cohen.d[,2] + cohen.d(UAEIP$SelfConsciousness, UAEIP$SEX)$cohen.d[,2] + cohen.d(UAEIP$Depression, UAEIP$SEX)$cohen.d[,2] + cohen.d(UAEIP$Anger, UAEIP$SEX)$cohen.d[,2] + cohen.d(UAEIP$Anxiety, UAEIP$SEX)$cohen.d[,2]); dOPUAE
##    effect 
## 0.6239353
dOPUSA = (1/6)*(cohen.d(USAIP$Vulnerability, USAIP$SEX)$cohen.d[,2] + cohen.d(USAIP$Immoderation, USAIP$SEX)$cohen.d[,2] + cohen.d(USAIP$SelfConsciousness, USAIP$SEX)$cohen.d[,2] + cohen.d(USAIP$Depression, USAIP$SEX)$cohen.d[,2] + cohen.d(USAIP$Anger, USAIP$SEX)$cohen.d[,2] + cohen.d(USAIP$Anxiety, USAIP$SEX)$cohen.d[,2]); dOPUSA
##    effect 
## 0.3275854
NeuCou <- data.frame("Country" = c("Albania", "Algeria", "Argentina", "Australia", "Austria", "Belgium", "Brazil", "Canada", "China", "Colombia", "Croatia", "Denmark", "Egypt", "Finland", "France", "Germany", "Greece", "India", "Indonesia", "Ireland", "Israel", "Italy", "Japan", "Malaysia", "Mexico", "The Netherlands", "New Zealand", "Norway", "Pakistan", "The Philippines", "Poland", "Portugal", "Romania", "Russian Federation", "Singapore", "South Africa", "South Korea", "Spain", "Sweden", "Switzerland", "Thailand", "Turkey", "UK", "United Arab Emirates", "USA"), 
                     "GEI"     = c(0.701, 0.632,  0.734, 0.733, 0.733, 0.753, 0.686, 0.740, 0.682, 0.725, 0.708, 0.767, 0.599, 0.850, 0.761, 0.779, 0.685, 0.664, 0.681, 0.807, 0.712, 0.726, 0.670, 0.655, 0.699, 0.776, 0.782, 0.850, 0.559, 0.790, 0.715, 0.731, 0.693, 0.694, 0.711, 0.759, 0.651, 0.742, 0.823, 0.785, 0.706, 0.624, 0.758, 0.646, 0.740), 
                     "dBias"   = c(sum(dAlb), sum(dAlg), sum(dArg), sum(dAus), sum(dHab), sum(dBel), sum(dBra), sum(dCan), sum(dChi), sum(dCol), sum(dCro), sum(dDen), sum(dEgy), sum(dFin), sum(dFra), sum(dGer), sum(dGre), sum(dInd), sum(dIno), sum(dIre), sum(dIsr), sum(dIta), sum(dJap), sum(dMal), sum(dMex), sum(dNet), sum(dNew), sum(dNor), sum(dPak), sum(dPhi), sum(dPol), sum(dPor), sum(dRom), sum(dRus), sum(dSin), sum(dSou), sum(dSKo), sum(dSpa), sum(dSwe), sum(dSwi), sum(dTha), sum(dTur), sum(dUK), sum(dUAE), sum(dUSA)), 
                     "dReal"   = c(dOAlb$cohen.d[,2], dOAlg$cohen.d[,2], dOArg$cohen.d[,2], dOAus$cohen.d[,2], dOHab$cohen.d[,2], dOBel$cohen.d[,2], dOBra$cohen.d[,2], dOCan$cohen.d[,2], dOChi$cohen.d[,2], dOCol$cohen.d[,2], dOCro$cohen.d[,2], dODen$cohen.d[,2], dOEgy$cohen.d[,2], dOFin$cohen.d[,2], dOFra$cohen.d[,2], dOGer$cohen.d[,2], dOGre$cohen.d[,2], dOInd$cohen.d[,2], dOIno$cohen.d[,2], dOIre$cohen.d[,2], dOIsr$cohen.d[,2], dOIta$cohen.d[,2], dOJap$cohen.d[,2], dOMal$cohen.d[,2], dOMex$cohen.d[,2], dONet$cohen.d[,2], dONew$cohen.d[,2], dONor$cohen.d[,2], dOPak$cohen.d[,2], dOPhi$cohen.d[,2], dOPol$cohen.d[,2], dOPor$cohen.d[,2], dORom$cohen.d[,2], dORus$cohen.d[,2], dOSin$cohen.d[,2], dOSou$cohen.d[,2], dOSKo$cohen.d[,2], dOSpa$cohen.d[,2], dOSwe$cohen.d[,2], dOSwi$cohen.d[,2], dOTha$cohen.d[,2], dOTur$cohen.d[,2], dOUK$cohen.d[,2], dOUAE$cohen.d[,2], dOUSA$cohen.d[,2]), #Ignore
                     "dRealP" = c(dOPAlb, dOPAlg, dOPArg, dOPAus, dOPHab, dOPBel, dOPBra, dOPCan, dOPChi, dOPCol, dOPCro, dOPDen, dOPEgy, dOPFin, dOPFra, dOPGer, dOPGre, dOPInd, dOPIno, dOPIre, dOPIsr, dOPIta, dOPJap, dOPMal, dOPMex, dOPNet, dOPNew, dOPNor, dOPPak, dOPPhi, dOPPol, dOPPor, dOPRom, dOPRus, dOPSin, dOPSou, dOPSKo, dOPSpa, dOPSwe, dOPSwi, dOPTha, dOPTur, dOPUK, dOPUAE, dOPUSA),
                     "N"      = c(nrow(ALBIP), nrow(ALGIP), nrow(ARGIP), nrow(AUSIP), nrow(HABIP), nrow(BELIP), nrow(BRAIP), nrow(CANIP), nrow(CHIIP), nrow(COLIP), nrow(CROIP), nrow(DENIP), nrow(EGYIP), nrow(FINIP), nrow(FRAIP), nrow(GERIP), nrow(GREIP), nrow(INDIP), nrow(INOIP), nrow(IREIP), nrow(ISRIP), nrow(ITAIP), nrow(JAPIP), nrow(MALIP), nrow(MEXIP), nrow(NETIP), nrow(NEWIP), nrow(NORIP), nrow(PAKIP), nrow(PHIIP), nrow(POLIP), nrow(PORIP), nrow(ROMIP), nrow(RUSIP), nrow(SINIP), nrow(SOUIP), nrow(SKOIP), nrow(SPAIP), nrow(SWEIP), nrow(SWIIP), nrow(THAIP), nrow(TURIP), nrow(UKIP), nrow(UAEIP), nrow(USAIP)))

NeuCou$dDiff = NeuCou$dReal - NeuCou$dBias #Ignore
NeuCou$dDiffP = NeuCou$dRealP - NeuCou$dBias

Summary Statistics

NeuCou
mean(NeuCou$dBias); weighted.mean(NeuCou$dBias, sqrt(NeuCou$N))
## [1] -0.02233333
## [1] 0.02641572
mean(NeuCou$dRealP); weighted.mean(NeuCou$dRealP, sqrt(NeuCou$N))
## [1] 0.3054914
## [1] 0.3144421
mean(NeuCou$dDiffP); weighted.mean(NeuCou$dDiffP, sqrt(NeuCou$N))
## [1] 0.3278248
## [1] 0.2880264

Correlations

One could use the correlation with N as a negative control of sorts.

cor(NeuCou[2:8])
##                GEI       dBias      dReal     dRealP           N      dDiff
## GEI     1.00000000 -0.07969057 0.15467620 0.16319557  0.07128976  0.1364493
## dBias  -0.07969057  1.00000000 0.02608998 0.01573145  0.13428636 -0.9140270
## dReal   0.15467620  0.02608998 1.00000000 0.99790172  0.04101710  0.3816683
## dRealP  0.16319557  0.01573145 0.99790172 1.00000000  0.03665477  0.3903945
## N       0.07128976  0.13428636 0.04101710 0.03665477  1.00000000 -0.1075187
## dDiff   0.13644931 -0.91402700 0.38166833 0.39039450 -0.10751867  1.0000000
## dDiffP  0.12915084 -0.94487317 0.30200381 0.31253181 -0.11557178  0.9961936
##            dDiffP
## GEI     0.1291508
## dBias  -0.9448732
## dReal   0.3020038
## dRealP  0.3125318
## N      -0.1155718
## dDiff   0.9961936
## dDiffP  1.0000000

Score by Sex Plots

IPIPA_Means <- IPIPA %>% group_by(GEI, SEX) %>% summarise(Neuroticism = mean(Neuroticism), N = n())
## `summarise()` has grouped output by 'GEI'. You can override using the `.groups` argument.
ggplot(IPIPA_Means, aes(x = GEI, y = Neuroticism, color = as.factor(SEX), group = as.factor(SEX))) + 
  geom_point() + 
  geom_smooth(method = "lm") +
  labs(title = "", x = "Gender Equality Index", y = "Neuroticism Mean") + 
  theme_bw() + 
  scale_color_manual(values = c("steelblue", "magenta"), name = "Sex", labels = c("Male", "Female")) +
  theme(text = element_text(size = 12, family = "serif"), plot.title = element_text(hjust = 0.5), 
        legend.background = element_blank(), legend.key = element_blank(), legend.position = c(0.1, 0.1)) + 
  guides(color=guide_legend(override.aes=list(fill=NA)))
## `geom_smooth()` using formula 'y ~ x'

ggplot(IPIPA, aes(x = GEI, y = Neuroticism, color = as.factor(SEX), group = as.factor(SEX))) + 
  geom_point() + 
  geom_smooth(method = "lm") +
  labs(title = "", x = "Gender Equality Index", y = "Neuroticism Score") + theme_bw() + 
  scale_color_manual(values = c("steelblue", "magenta"), name = "Sex", labels = c("Male", "Female")) +
  theme(text = element_text(size = 12, family = "serif"), plot.title = element_text(hjust = 0.5), 
        legend.position = c(0.86, 0.92), legend.background = element_blank(), legend.key = element_blank()) + 
  guides(color=guide_legend(override.aes=list(fill=NA)))
## `geom_smooth()` using formula 'y ~ x'

Regression Plots

ggplot(NeuCou, aes(x = dBias, y = dRealP)) + 
  geom_point() + 
  geom_smooth(method = lm, color = "gold", formula = "y ~ x") + 
  labs(title = "Sex Differences vs Test Bias", x = "Mean Bias (dMACS)", y = "Mean Difference (Cohen's d)") + 
  theme_bw() + 
  theme(text = element_text(size = 12, family = "serif"), plot.title = element_text(hjust = 0.5)) 

ggplot(NeuCou, aes(x = dBias, y = dRealP)) + 
  geom_point() + 
  geom_smooth(method = lm, color = "gold", formula = "y ~ x", mapping = aes(weight = sqrt(N))) + 
  labs(title = "Sex Differences vs Test Bias (Square Root-N-Weighted)", x = "Mean Bias (dMACS)", y = "Mean Difference (Cohen's d)") + 
  theme_bw() + 
  theme(text = element_text(size = 12, family = "serif"), plot.title = element_text(hjust = 0.5)) 

Linear regression was obviously not appropriate for the relationship between bias and differences. Circularity/ipsitivity/ipsativity/uniform bias likely played a considerable role here.

ggplot(NeuCou, aes(x = GEI, y = dRealP)) + 
  geom_point() + 
  geom_smooth(method = lm, color = "steelblue", formula = "y ~ x") + 
  labs(title = "Neuroticism Differences vs Gender Equality", x = "Gender Equality Index", y = "Neuroticism Difference (Cohen's d)") + 
  theme_bw() + 
  theme(text = element_text(size = 12, family = "serif"), plot.title = element_text(hjust = 0.5)) 

ggplot(NeuCou, aes(x = GEI, y = dRealP)) + 
  geom_point() + 
  geom_smooth(method = lm, color = "steelblue", formula = "y ~ x", mapping = aes(weight = sqrt(N))) + 
  labs(title = "Neuroticism Differences vs Gender Equality (Square Root-N-Weighted)", x = "Gender Equality Index", y = "Neuroticism Difference (Cohen's d)") + 
  theme_bw() + 
  theme(text = element_text(size = 12, family = "serif"), plot.title = element_text(hjust = 0.5)) 

ggplot(NeuCou, aes(x = GEI, y = dBias)) + 
  geom_point() + 
  geom_smooth(method = lm, color = "darkgreen", formula = "y ~ x") + 
  labs(title = "Test Bias vs Gender Equality", x = "Gender Equality Index", y = "Mean Bias (dMACS)") + 
  theme_bw() + 
  theme(text = element_text(size = 12, family = "serif"), plot.title = element_text(hjust = 0.5)) 

ggplot(NeuCou, aes(x = GEI, y = dBias)) + 
  geom_point() + 
  geom_smooth(method = lm, color = "darkgreen", formula = "y ~ x", mapping = aes(weight = sqrt(N))) + 
  labs(title = "Test Bias vs Gender Equality (Square Root-N-Weighted)", x = "Gender Equality Index", y = "Mean Bias (dMACS)") + 
  theme_bw() + 
  theme(text = element_text(size = 12, family = "serif"), plot.title = element_text(hjust = 0.5)) 

ggplot(NeuCou, aes(x = GEI, y = dDiffP)) + 
  geom_point() + 
  geom_smooth(method = lm, color = "orangered", formula = "y ~ x") + 
  labs(title = "Sex Differences in Neuroticism sans Bias vs the Gender Equality Index", x = "Gender Equality Index", y = "Unbiased Neuroticism Difference (Cohen's d)") + 
  theme_bw() + 
  theme(text = element_text(size = 12, family = "serif"), plot.title = element_text(hjust = 0.5)) 

ggplot(NeuCou, aes(x = GEI, y = dDiffP)) + 
  geom_point() + 
  geom_smooth(method = lm, color = "orangered", formula = "y ~ x", mapping = aes(weight = sqrt(N))) + 
  labs(title = "Sex Differences in Neuroticism sans Bias vs the Gender Equality Index (Square Root-N-Weighted)", x = "Gender Equality Index", y = "Unbiased Neuroticism Difference (Cohen's d)") + 
  theme_bw() + 
  theme(text = element_text(size = 12, family = "serif"), plot.title = element_text(hjust = 0.5)) 

Regressions

G1 <- lm(dRealP ~ GEI, NeuCou); summary(G1)
## 
## Call:
## lm(formula = dRealP ~ GEI, data = NeuCou)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -0.26710 -0.05426  0.00009  0.06706  0.34141 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)
## (Intercept)  0.08305    0.20581   0.404    0.689
## GEI          0.30879    0.28468   1.085    0.284
## 
## Residual standard error: 0.1164 on 43 degrees of freedom
## Multiple R-squared:  0.02663,    Adjusted R-squared:  0.003996 
## F-statistic: 1.177 on 1 and 43 DF,  p-value: 0.2841
G2 <- lm(dBias ~ GEI, NeuCou);  summary(G2)
## 
## Call:
## lm(formula = dBias ~ GEI, data = NeuCou)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -0.6595 -0.2998 -0.1182  0.3332  0.5575 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)
## (Intercept)   0.2928     0.6033   0.485    0.630
## GEI          -0.4374     0.8344  -0.524    0.603
## 
## Residual standard error: 0.3412 on 43 degrees of freedom
## Multiple R-squared:  0.006351,   Adjusted R-squared:  -0.01676 
## F-statistic: 0.2748 on 1 and 43 DF,  p-value: 0.6028
G3 <- lm(dDiffP ~ GEI, NeuCou); summary(G3)
## 
## Call:
## lm(formula = dDiffP ~ GEI, data = NeuCou)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -0.40598 -0.32600 -0.07507  0.30673  1.00095 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)
## (Intercept)  -0.2097     0.6317  -0.332    0.741
## GEI           0.7462     0.8737   0.854    0.398
## 
## Residual standard error: 0.3573 on 43 degrees of freedom
## Multiple R-squared:  0.01668,    Adjusted R-squared:  -0.006188 
## F-statistic: 0.7294 on 1 and 43 DF,  p-value: 0.3978
NC <- lm(N ~ GEI, NeuCou);      summary(NC)
## 
## Call:
## lm(formula = N ~ GEI, data = NeuCou)
## 
## Residuals:
##    Min     1Q Median     3Q    Max 
## -10326  -6900  -5304  -3715 205270 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)
## (Intercept)   -19753      56508  -0.350    0.728
## GEI            36633      78163   0.469    0.642
## 
## Residual standard error: 31960 on 43 degrees of freedom
## Multiple R-squared:  0.005082,   Adjusted R-squared:  -0.01806 
## F-statistic: 0.2197 on 1 and 43 DF,  p-value: 0.6417

Robust Regressions

HC5 beats MM-type estimators like that in the lmrob() function and collapses to HC4 in scenarios without high-leverage, where HC4 beats HC3, even at small sample sizes.

VG1 <- vcovHC(G1, type = "HC5"); VM1 <- coeftest(G1, vcov = VG1); VM1
## 
## t test of coefficients:
## 
##             Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.083046   0.220190  0.3772   0.7079
## GEI         0.308790   0.292947  1.0541   0.2977
VG2 <- vcovHC(G2, type = "HC5"); VM2 <- coeftest(G2, vcov = VG2); VM2
## 
## t test of coefficients:
## 
##             Estimate Std. Error t value Pr(>|t|)
## (Intercept)  0.29279    0.65092  0.4498   0.6551
## GEI         -0.43744    0.89743 -0.4874   0.6284
VG3 <- vcovHC(G3, type = "HC5"); VM3 <- coeftest(G3, vcov = VG3); VM3
## 
## t test of coefficients:
## 
##             Estimate Std. Error t value Pr(>|t|)
## (Intercept) -0.20974    0.68796 -0.3049   0.7619
## GEI          0.74623    0.94280  0.7915   0.4330
VNC <- vcovHC(NC, type = "HC5"); VN1 <- coeftest(NC, vcov = VNC); VN1
## 
## t test of coefficients:
## 
##             Estimate Std. Error t value Pr(>|t|)
## (Intercept)   -19753      17179 -1.1499   0.2566
## GEI            36633      29301  1.2502   0.2180

Weighted Robust Regressions

I have no justification for these, I just ran them because I could, and to assess if the correlation between N and other variables could confound this association. This should not be considered a particularly relevant robustness check/analysis, since N is obviously biased towards Anglophone countries for reasons unrelated to the constructs of interest (i.e., country-level wealth/internet access and proficiency in the default questionnaire language). The results may, just, be more reliable due to their greater sample sizes.

G1 <- lm(dRealP ~ GEI, NeuCou, weights = sqrt(N)); VG1 <- vcovHC(G1, type = "HC5"); VM1 <- coeftest(G1, vcov = VG1); VM1
## 
## t test of coefficients:
## 
##             Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.029619   0.178325  0.1661   0.8689
## GEI         0.387378   0.235605  1.6442   0.1074
G2 <- lm(dBias ~ GEI, NeuCou, weights = sqrt(N));  VG2 <- vcovHC(G2, type = "HC5"); VM2 <- coeftest(G2, vcov = VG2); VM2
## 
## t test of coefficients:
## 
##              Estimate Std. Error t value Pr(>|t|)
## (Intercept)  0.038229   0.682698  0.0560   0.9556
## GEI         -0.016067   0.954112 -0.0168   0.9866
G3 <- lm(dDiffP ~ GEI, NeuCou, weights = sqrt(N)); VG3 <- vcovHC(G3, type = "HC5"); VM3 <- coeftest(G3, vcov = VG3); VM3
## 
## t test of coefficients:
## 
##             Estimate Std. Error t value Pr(>|t|)
## (Intercept) -0.00861    0.69667 -0.0124   0.9902
## GEI          0.40344    0.96573  0.4178   0.6782

N-Adjusted Robust Regressions

I also have no justification for these except as a check on the prior result, as it is another way to correct for sample size-related discrepancies. It obviously does not do the same thing as weighting by N, since it corrects the coefficients for them rather than giving them additional leverage by N.

RNeuCou <- umx_residualize(c("dRealP", "dBias", "dDiffP"), "N", data = NeuCou)
## (Intercept) B = 0.305 [0.268, 0.341], t = 16.954, p < 0.001
## N B = 0 [0, 0], t = 0.241, p = 0.811
## R² = 0.001 (adj = -0.022)(Intercept) B = -0.032 [-0.136, 0.072], t = -0.616, p = 0.541
## N B = 0 [0, 0], t = 0.889, p = 0.379
## R² = 0.018 (adj = -0.005)(Intercept) B = 0.336 [0.226, 0.446], t = 6.17, p < 0.001
## N B = 0 [0, 0], t = -0.763, p = 0.450
## R² = 0.013 (adj = -0.01)
G1 <- lm(dRealP ~ GEI, RNeuCou); VG1 <- vcovHC(G1, type = "HC5"); VM1 <- coeftest(G1, vcov = VG1); VM1
## 
## t test of coefficients:
## 
##             Estimate Std. Error t value Pr(>|t|)
## (Intercept) -0.21888    0.22018 -0.9941   0.3257
## GEI          0.30385    0.29294  1.0372   0.3054
G2 <- lm(dBias ~ GEI, RNeuCou);  VG2 <- vcovHC(G2, type = "HC5"); VM2 <- coeftest(G2, vcov = VG2); VM2
## 
## t test of coefficients:
## 
##             Estimate Std. Error t value Pr(>|t|)
## (Intercept)  0.35298    0.64760  0.5451   0.5885
## GEI         -0.48999    0.89202 -0.5493   0.5856
G3 <- lm(dDiffP ~ GEI, RNeuCou); VG3 <- vcovHC(G3, type = "HC5"); VM3 <- coeftest(G3, vcov = VG3); VM3
## 
## t test of coefficients:
## 
##             Estimate Std. Error t value Pr(>|t|)
## (Intercept) -0.57186    0.68516 -0.8346   0.4085
## GEI          0.79383    0.93817  0.8462   0.4022

Is there a Sex Interaction in General?

Visually, this would seem impossible, at least for the means. I will test both for the means and at the individual level.

G1 <- lm(Neuroticism ~ GEI, IPIPA_Means); summary(G1)
## 
## Call:
## lm(formula = Neuroticism ~ GEI, data = IPIPA_Means)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -27.9567  -6.4022   0.2246   7.6008  18.4631 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)  
## (Intercept)    29.30      12.48   2.348   0.0213 *
## GEI           -30.85      17.36  -1.777   0.0792 .
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 9.482 on 82 degrees of freedom
## Multiple R-squared:  0.03709,    Adjusted R-squared:  0.02535 
## F-statistic: 3.159 on 1 and 82 DF,  p-value: 0.07924
G2 <- lm(Neuroticism ~ GEI * SEX, IPIPA_Means); summary(G2)
## 
## Call:
## lm(formula = Neuroticism ~ GEI * SEX, data = IPIPA_Means)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -21.448  -3.089   1.372   3.939  11.319 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)
## (Intercept)  27.9471    27.4904   1.017    0.312
## GEI         -57.3387    38.2343  -1.500    0.138
## SEX           0.9025    17.3864   0.052    0.959
## GEI:SEX      17.6602    24.1815   0.730    0.467
## 
## Residual standard error: 6.605 on 80 degrees of freedom
## Multiple R-squared:  0.5442, Adjusted R-squared:  0.5271 
## F-statistic: 31.84 on 3 and 80 DF,  p-value: 1.207e-13
VG1 <- vcovHC(G1, type = "HC5"); VM1 <- coeftest(G1, vcov = VG1); VM1
## 
## t test of coefficients:
## 
##             Estimate Std. Error t value Pr(>|t|)  
## (Intercept)   29.301     12.408  2.3615  0.02057 *
## GEI          -30.848     17.327 -1.7804  0.07872 .
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
VG2 <- vcovHC(G2, type = "HC5"); VM2 <- coeftest(G2, vcov = VG2); VM2
## 
## t test of coefficients:
## 
##              Estimate Std. Error t value Pr(>|t|)  
## (Intercept)  27.94705   24.71111  1.1310  0.26145  
## GEI         -57.33872   34.22302 -1.6754  0.09775 .
## SEX           0.90245   16.12206  0.0560  0.95550  
## GEI:SEX      17.66022   22.23082  0.7944  0.42931  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
G1 <- lm(Neuroticism ~ GEI, IPIPA); summary(G1)
## 
## Call:
## lm(formula = Neuroticism ~ GEI, data = IPIPA)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -109.582  -26.546   -1.577   25.418  122.418 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  10.0979     2.2265   4.535 5.75e-06 ***
## GEI           0.6538     3.0038   0.218    0.828    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 36.79 on 298609 degrees of freedom
## Multiple R-squared:  1.586e-07,  Adjusted R-squared:  -3.19e-06 
## F-statistic: 0.04737 on 1 and 298609 DF,  p-value: 0.8277
G2 <- lm(Neuroticism ~ GEI * SEX, IPIPA); summary(G2)
## 
## Call:
## lm(formula = Neuroticism ~ GEI * SEX, data = IPIPA)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -111.501  -25.501   -1.501   24.499  129.451 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)   10.306      6.857   1.503 0.132826    
## GEI          -32.039      9.250  -3.464 0.000533 ***
## SEX           -1.084      4.365  -0.248 0.803790    
## GEI:SEX       21.671      5.889   3.680 0.000233 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 36.05 on 298607 degrees of freedom
## Multiple R-squared:  0.03966,    Adjusted R-squared:  0.03965 
## F-statistic:  4111 on 3 and 298607 DF,  p-value: < 2.2e-16
VG1 <- vcovHC(G1, type = "HC5"); VM1 <- coeftest(G1, vcov = VG1); VM1
## 
## t test of coefficients:
## 
##             Estimate Std. Error t value  Pr(>|t|)    
## (Intercept) 10.09790    2.16131  4.6721 2.982e-06 ***
## GEI          0.65379    2.91710  0.2241    0.8227    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
VG2 <- vcovHC(G2, type = "HC5"); VM2 <- coeftest(G2, vcov = VG2); VM2
## 
## t test of coefficients:
## 
##             Estimate Std. Error t value  Pr(>|t|)    
## (Intercept)  10.3057     6.7027  1.5376 0.1241585    
## GEI         -32.0388     9.0461 -3.5417 0.0003976 ***
## SEX          -1.0845     4.2292 -0.2564 0.7976276    
## GEI:SEX      21.6710     5.7078  3.7967 0.0001466 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

There is not a significant direct effect or interaction at the level of the means but there are moderately significant effects in the total dataset, although the main effect only shows up with the interaction included. Graphically, it would seem there are interactions in both cases.

For Robustness’ Sake

G1 <- lm(Neuroticism ~ GEI, weight = sqrt(N), IPIPA_Means); summary(G1)
## 
## Call:
## lm(formula = Neuroticism ~ GEI, data = IPIPA_Means, weights = sqrt(N))
## 
## Weighted Residuals:
##      Min       1Q   Median       3Q      Max 
## -130.993  -35.533   -5.772   26.689  157.615 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)
## (Intercept)    17.55      15.16   1.158     0.25
## GEI           -12.37      20.61  -0.600     0.55
## 
## Residual standard error: 51.52 on 82 degrees of freedom
## Multiple R-squared:  0.004375,   Adjusted R-squared:  -0.007767 
## F-statistic: 0.3603 on 1 and 82 DF,  p-value: 0.55
G2 <- lm(Neuroticism ~ GEI * SEX, weight = sqrt(N), IPIPA_Means); summary(G2)
## 
## Call:
## lm(formula = Neuroticism ~ GEI * SEX, data = IPIPA_Means, weights = sqrt(N))
## 
## Weighted Residuals:
##     Min      1Q  Median      3Q     Max 
## -99.470 -20.291   0.165  14.360  88.613 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)
## (Intercept)    22.04      30.21   0.729    0.468
## GEI           -48.41      41.09  -1.178    0.242
## SEX            -2.68      19.16  -0.140    0.889
## GEI:SEX        23.28      26.05   0.894    0.374
## 
## Residual standard error: 32.55 on 80 degrees of freedom
## Multiple R-squared:  0.6122, Adjusted R-squared:  0.5977 
## F-statistic:  42.1 on 3 and 80 DF,  p-value: < 2.2e-16
VG1 <- vcovHC(G1, type = "HC5"); VM1 <- coeftest(G1, vcov = VG1); VM1
## 
## t test of coefficients:
## 
##             Estimate Std. Error t value Pr(>|t|)
## (Intercept)   17.555     13.712  1.2803   0.2041
## GEI          -12.374     19.459 -0.6359   0.5266
VG2 <- vcovHC(G2, type = "HC5"); VM2 <- coeftest(G2, vcov = VG2); VM2
## 
## t test of coefficients:
## 
##             Estimate Std. Error t value Pr(>|t|)
## (Intercept)  22.0364    25.9188  0.8502   0.3977
## GEI         -48.4094    35.9222 -1.3476   0.1816
## SEX          -2.6804    17.0872 -0.1569   0.8757
## GEI:SEX      23.2775    23.6581  0.9839   0.3281
RIPIPA_Means <- umx_residualize("Neuroticism", "N", data = IPIPA_Means)
## (Intercept) B = 7.07 [4.939, 9.201], t = 6.599, p < 0.001
## N B = 0 [0, 0], t = 0.623, p = 0.535
## R² = 0.005 (adj = -0.007)
G1 <- lm(Neuroticism ~ GEI, RIPIPA_Means); summary(G1)
## 
## Call:
## lm(formula = Neuroticism ~ GEI, data = RIPIPA_Means)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -27.8714  -6.5153   0.3128   7.4764  18.3064 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)  
## (Intercept)    22.73      12.44   1.828   0.0712 .
## GEI           -31.72      17.30  -1.834   0.0703 .
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 9.448 on 82 degrees of freedom
## Multiple R-squared:  0.0394, Adjusted R-squared:  0.02769 
## F-statistic: 3.363 on 1 and 82 DF,  p-value: 0.07029
G2 <- lm(Neuroticism ~ GEI * SEX, RIPIPA_Means); summary(G2)
## 
## Call:
## lm(formula = Neuroticism ~ GEI * SEX, data = RIPIPA_Means)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -21.3835  -2.9424   0.8854   4.0520  11.1959 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)
## (Intercept)   21.062     27.406   0.769    0.444
## GEI          -57.663     38.117  -1.513    0.134
## SEX            1.111     17.333   0.064    0.949
## GEI:SEX       17.296     24.107   0.717    0.475
## 
## Residual standard error: 6.585 on 80 degrees of freedom
## Multiple R-squared:  0.5448, Adjusted R-squared:  0.5278 
## F-statistic: 31.92 on 3 and 80 DF,  p-value: 1.141e-13
VG1 <- vcovHC(G1, type = "HC5"); VM1 <- coeftest(G1, vcov = VG1); VM1
## 
## t test of coefficients:
## 
##             Estimate Std. Error t value Pr(>|t|)  
## (Intercept)   22.728     12.411  1.8313  0.07068 .
## GEI          -31.720     17.329 -1.8304  0.07082 .
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
VG2 <- vcovHC(G2, type = "HC5"); VM2 <- coeftest(G2, vcov = VG2); VM2
## 
## t test of coefficients:
## 
##             Estimate Std. Error t value Pr(>|t|)  
## (Intercept)  21.0619    24.7327  0.8516  0.39699  
## GEI         -57.6635    34.2536 -1.6834  0.09619 .
## SEX           1.1107    16.1409  0.0688  0.94531  
## GEI:SEX      17.2959    22.2596  0.7770  0.43945  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Conclusions

The GEI used by Giolla & Kajonius (2018) was positively related to the extent of sex differences in neuroticism. More equal countries yielded some some scant evidence for larger differences in more gender-equal countries in this dataset. A major problem with the analyses here is the lack of granularity in the gender inequality index. This could be, perhaps, solved by using age and a suite of assumptions: that the past was less gender equal in a granular fashion, that sampling bias is not bias with respect to personality in a way that’s relevant to the hypothesis, and that the effect is one that persists from early life and there aren’t aging effects, unless we can get data actually given in earlier years. Since that is not a possibility for a meaningful era of time because of recent invention of the tests and the low likelihood of invariance for even more recent periods, it seems the an age-based analysis ought to be done, and it ought to showcase invariance by age, with differences theoretically due to the (shared by age) effect of gender equality, though excluding sampling and other sources of difference would be difficult. It could also be done, with sufficient sample sizes, using GEI values for years of administration if we have enough variation in the years of administration. However, the fact that gender equality indices are made based on a combination of socially relevant and irrelevant things may make analyzing the covariance between change in indices and personality a fraught endeavor. To some degree, gender equality indices may reflect characteristics of populations, signaling again the need to address spatial autocorrelation. In any case, there is much more to say and far more to do to properly investigate the idea that gender equality is relevant to personality differences at all, let alone in a systematic fashion.

Other interesting findings included:

  • There was no relationship between test bias and the extent of sex differences across countries.
  • Test bias is present and systematic with respect to the scale of mean differences, but its direction was consistently such that it raised female scores, in a v-shaped pattern.
  • It is likely that bias was artefactual, as the pattern of bias was to covary with mean differences. If resampling a pseudo-female group from the male group or vice-versa led to similar results, the artefactual claim could be verified. If it was not, this would be an area ripe for sociological explanation. Unfortunately, this requires large sample sizes, which may, incidentally, be the explanation for this problematic pattern in the first place (different means with insufficient n can produce artefactual intercept differences).
  • Because this is probably the case, these results probably do not mean much for interpretation except that patterns of relationships between personality and other variables are unlikely to have much inferential value. The reason for this is simple: we cannot say if the differences are “real” or to what extent they represent measurement bias. As I see it, we cannot even tell if they are partly or wholly biased.

Limitations

References

Gunn, H. J., Grimm, K. J., & Edwards, M. C. (2019). Evaluation of Six Effect Size Measures of Measurement Non-Invariance for Continuous Outcomes. Structural Equation Modeling: A Multidisciplinary Journal, 0(0), 1-12. https://doi.org/10.1080/10705511.2019.1689507

Giolla, E. M., & Kajonius, P. J. (2019). Sex differences in personality are larger in gender equal countries: Replicating and extending a surprising finding. International Journal of Psychology, 54(6), 705–711. https://doi.org/10.1002/ijop.12529