These functions test the specificity of personality trait-outcome associations by comparing the observed associations to those obtained using randomly created personality scales. Running the function requires item-level data from multi-trait personality questionnaires and the scoring key for the questionnaire.

The functions are based on `lm`

(or on `glm`

, if `specificityGlm`

is used).

1 2 3 4 5 6 | ```
specificityLm(Formula, Data, Key, Shuffle = "exclusive", R = 1000)
specificityEta2(Formula, Data, Key, Shuffle = "exclusive", R = 1000)
specificityGlm(Formula, Data, Key, Shuffle = "exclusive", Family="binomial",
R = 1000)
``` |

`Formula` |
A formula specifying the associations to be tested. It should be something along these lines: |

`Data` |
The |

`Key` |
A list, which has (at least) three elements: |

`Shuffle` |
This specifies the way random scales are created: |

`R` |
The number of simulations. |

`Family` |
NB! Only to be specified, when |

The Five-Factor Model personality traits tend to be associated with many outcomes (non-personality variables) in a fairly similar manner and the same outcomes often have similar associations with most personality traits. In particular, socially favourable personality trait levels correlate among themselves and with desirable outcomes; therefore, we call this the 'positive-things-go-together' pattern. There are several possible reasons for this pattern. It could reflect veridical and meaningful ways in which people differ from each other, along the lines of general factor of personality or yet more general fitness factors. Alternatively, it could result from complex multivariate causal mechanisms (e.g., the crud factor) or from methodological artifacts (e.g., rating biases, poor questionnaire design). This ambiguity may limit the informativeness of particular personality trait-outcome associations. In order to quantify the level of uniqueness in particular personality trait-outcome associations, over and above the 'positive-things-go-together' pattern, we have put forward the concept of specificity, operationally defined as the probability that an observed trait-outcome association is stronger than the association of any random combination of personality questionnaire items with the outcome. This definition provides a simple specificity metric that can be used as a post hoc tool to evaluate the substantive importance of specific trait-outcome associations.

These functions facilitate carrying out such specificity analyses.

`specificityLm`

is suitable, when the `Outcome`

is a normally distributed continuous variable, whereas `specificityEta2`

is suitable, when the `Outcome`

is the independent variable and is a `factor`

; `specificityGlm`

is suitable, when the `Outcome`

is the dependent variable and has a non-normal distribution.

`...` |
The result will be an object of S3 class. Typing |

`observed` |
The observed associations of personality traits with the outcome. For a nicer output use: |

`random` |
Random associations of personality traits with the outcome. For a nicer output use: |

`time` |
The time used for running the random-scale analyses |

Kenn Konstabel kenn.konstabel@tai.ee, Rene Mottus rene.mottus@ed.ac.uk

Mottus, R., Johnson, W., Booth, T., Deary, I. J., Konstabel, K., Realo, A., & Allik, J. (2013). Generality and specificity of personality trait scores in their associations with other phenomena. Submitted for publication

`randomCorrelations`

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | ```
# Create random data.frame
data = as.data.frame(matrix(ncol=63, nrow=100, sample(1:5, size=6300, replace=TRUE)))
colnames(data) = c(paste("Per", 1:60, sep=""), c("Outcome", "Covar1", "Covar2"))
# Make the Outcome categorical
data$OutcomeCat = as.factor(data$Outcome)
# Create Keys
keyWithNames <- list(start=1, end=60, scale=rep(1:5, each=12), names=c("N","E","O","A","C"))
keyWithoutNames <- list(start=1, end=60, scale = rep(1:5, each=12))
# Run analyses
resultLm <- specificityLm(scale(.allTraits) ~ scale(Outcome) + Covar1 + Covar2,
Data=data, Key = keyWithNames, R=100)
resultEta2 <- specificityEta2(.allTraits ~ OutcomeCat + Covar1 + Covar2,
Data=data, Key = keyWithNames, R=100)
resultGlm <- specificityGlm(Outcome ~ .allTraits + Covar1 + Covar2,
Data=data, Family="gaussian", Key = keyWithoutNames, R=100)
# See results
summary(resultLm)
summary(resultEta2)$true.results
summary(resultGlm)$rand.results.all.traits
``` |

Questions? Problems? Suggestions? Tweet to @rdrrHQ or email at ian@mutexlabs.com.

All documentation is copyright its authors; we didn't write any of that.