Learn R Programming

psych (version 2.4.6.26)

manhattan: "Manhattan" plots of correlations with a set of criteria.

Description

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.

Usage

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, ...)

Value

The correlations or the log p values are returned (invisibily)

Arguments

x

A matrix or data.frame of items or a correlation matrix.

criteria

What column names should be predicted. If a separate file, what are the variables to predict.

keys

a keys.list similar to that used in scoreItems

raw

The default is raw data, the alternative is a correlation matrix

n.obs

If given a correlation matrix, and showing log.p, we need the number of observations

abs

Should we show the absolute value of the correlations.

ylab

If NULL, will label as either correlations or log (10) of correlations

labels

if NULL, will use the names of the keys

log.p

Should we show the correlations (log.p = FALSE) or the log of the probabilities of the correlations (TRUE)

ci

The probability for the upper and lower confidence intervals -- bonferroni adjusted

pch

The default plot chararcter is a filled circle

main

The title for each criterion

adjust

Which adjustment for multiple correlations should be applied ("holm", "bonferroni", "none")

ylim

If NULL will be the min and max of the data

digits

Round off the results to digits

dictionary

A dictionary of items

...

Other graphic parameters

Author

William Revelle

Details

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).

See Also

bestScales, error.dots

Examples

Run this code

op <- par(mfrow=(c(2,3))) #we want to compare two different sets of plots
manhattan(bfi[1:25],bfi[26:28]
,labels=colnames(bfi)[1:25], dictionary=bfi.dictionary)
manhattan(bfi[1:25],bfi[26:28],log.p=TRUE,
    dictionary=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(bfi[1:25],bfi[26:28],keys=bfi.keys,
     dictionary=bfi.dictionary[1:2])
manhattan(bfi[1:25],bfi[26:28],keys=bfi.keys,log.p=TRUE,
dictionary=bfi.dictionary[1:2]) 

#Alternatively, use a matrix as input
R <-cor(bfi[1:25],bfi[26:28],use="pairwise")
manhattan(R,cs(gender,education,age),keys=bfi.keys,
      dictionary=bfi.dictionary[1:2], raw=FALSE,abs=FALSE)
par <- op



psych:::dfOrder(man,1,ascending=FALSE)  #print out the items sorted on gender

Run the code above in your browser using DataLab