
Last chance! 50% off unlimited learning
Sale ends in
A useful way of showing the strength of many correlations with a particular criterion is the Manhattan plot. This is just a plot of correlations ordered by some keying variable. Useful to understand the basis of items used in bestScales
.
manhattan(x, criteria = NULL, keys = NULL,raw=TRUE,n.obs=NULL, abs = TRUE,
ylab = NULL, labels = NULL, log.p = FALSE,ci=.05, pch = 21,
main = "Manhattan Plot of", adjust="holm",ylim = NULL,digits=2,dictionary=NULL, ...)
A matrix or data.frame of items or a correlation matrix.
What column names should be predicted. If a separate file, what are the variables to predict.
a keys.list similar to that used in scoreItems
The default is raw data, the alternative is a correlation matrix
If given a correlation matrix, and showing log.p, we need the number of observations
Should we show the absolute value of the correlations.
If NULL, will label as either correlations or log (10) of correlations
if NULL, will use the names of the keys
Should we show the correlations (log.p = FALSE) or the log of the probabilities of the correlations (TRUE)
The probability for the upper and lower confidence intervals -- bonferroni adjusted
The default plot chararcter is a filled circle
The title for each criterion
Which adjustment for multiple correlations should be applied ("holm", "bonferroni", "none")
If NULL will be the min and max of the data
Round off the results to digits
A dictionary of items
Other graphic parameters
The correlations or the log p values are returned (invisibily)
When exploring the correlations of many items with a few criteria, it is useful to form scales from the most correlated items (see bestScales
. To get a feeling of the distribution of items across various measures, we can display their correlations (or the log of the probabilities) grouped by some set of scale keys. May also be used to display and order correlations (rows) with a criteria (columns) if given a correlation as input (raw=FALSE).
# NOT RUN {
op <- par(mfrow=(c(2,3))) #we want to compare two different sets of plots
manhattan(psychTools::bfi[1:25],psychTools::bfi[26:28]
,labels=colnames(psychTools::bfi)[1:25], dictionary=psychTools::bfi.dictionary)
manhattan(psychTools::bfi[1:25],psychTools::bfi[26:28],log.p=TRUE,
dictionary=psychTools::bfi.dictionary)
#Do it again, but now show items by the keys.list
bfi.keys <-
list(agree=c("-A1","A2","A3","A4","A5"),conscientious=c("C1","C2","C3","-C4","-C5"),
extraversion=c("-E1","-E2","E3","E4","E5"),neuroticism=c("N1","N2","N3","N4","N5"),
openness = c("O1","-O2","O3","O4","-O5"))
man <- manhattan(psychTools::bfi[1:25],psychTools::bfi[26:28],keys=bfi.keys,
dictionary=psychTools::bfi.dictionary[1:2])
manhattan(psychTools::bfi[1:25],psychTools::bfi[26:28],keys=bfi.keys,log.p=TRUE,
dictionary=psychTools::bfi.dictionary[1:2])
#Alternatively, use a matrix as input
R <-cor(psychTools::bfi[1:25],psychTools::bfi[26:28],use="pairwise")
manhattan(R,cs(gender,education,age),keys=bfi.keys,
dictionary=psychTools::bfi.dictionary[1:2], raw=FALSE,abs=FALSE)
par <- op
psychTools::dfOrder(man,1,ascending=FALSE) #print out the items sorted on gender
# }
Run the code above in your browser using DataLab