psych (version 1.3.10.12)

set.cor: Set Correlation and Multiple Regression from matrix or raw input

Description

Finds Cohen's Set Correlation between a predictor set of variables (x) and a criterion set (y). Also finds multiple correlations between x variables and each of the y variables. Will work with either raw data or a correlation matrix. A set of covariates (z) can be partialled from the x and y sets.

Usage

set.cor(y, x,data, z=NULL,n.obs=NULL,use="pairwise",square=FALSE)
mat.regress(y, x,data, z=NULL,n.obs=NULL,use="pairwise",square=FALSE)

Arguments

data
a matrix or data.frame of correlations or, if not square, of raw data
y
either the column numbers of the y set (e.g., c(2,4,6) or the column names of the y set (e.g., c("Flags","Addition")
x
either the column numbers of the x set (e.g., c(1,3,5) or the column names of the x set (e.g. c("Cubes","PaperFormBoard")
n.obs
If specified, then confidence intervals, etc. are calculated, not needed if raw data are given
z
the column names or numbers of the set of covariates
use
find the correlations "pairwise" (default) or just use "complete" cases (to match the lm function)
square
if FALSE, then square matrices are treated as correlation matrices not as data matrices. In the rare case that one has as many cases as variables, then set square=TRUE.

Value

  • betathe beta weights for each variable in X for each variable in Y
  • RThe multiple R for each equation (the amount of change a unit in the predictor set leads to in the criterion set).
  • R2The multiple R2 (% variance acounted for) for each equation
  • seStandard errors of beta weights (if n.obs is specified)
  • tt value of beta weights (if n.obs is specified)
  • ProbabilityProbability of beta = 0 (if n.obs is specified)
  • shrunkenR2Estimated shrunken R2 (if n.obs is specified)
  • setR2The multiple R2 of the set correlation between the x and y sets
  • item{residual}{The residual correlation matrix of Y with x and z removed}
  • ruwThe unit weighted multiple correlation
  • RuwThe unit weighted set correlation

Details

Although it is more common to calculate multiple regression and canonical correlations from the raw data, it is, of course, possible to do so from a matrix of correlations or covariances. In this case, the input to the function is a square covariance or correlation matrix, as well as the column numbers (or names) of the x (predictor), y (criterion) variables, and if desired z (covariates). The function will find the correlations if given raw data. The output is a set of multiple correlations, one for each dependent variable in the y set, as well as the set of canonical correlations. An additional output is the R2 found using Cohen's set correlation (Cohen, 1982). This is a measure of how much variance and the x and y set share. Cohen (1982) introduced the set correlation, a multivariate generalization of the multiple correlation to measure the overall relationship between two sets of variables. It is an application of canoncial correlation (Hotelling, 1936) and $1 - \prod(1-\rho_i^2)$ where $\rho_i^2$ is the squared canonical correlation. Set correlation is the amount of shared variance (R2) between two sets of variables. With the addition of a third, covariate set, set correlation will find multivariate R2, as well as partial and semi partial R2. (The semi and bipartial options are not yet implemented.) Details on set correlation may be found in Cohen (1982), Cohen (1988) and Cohen, Cohen, Aiken and West (2003). R2 between two sets is just $$R_{yx}^2 = 1- \frac{\left | R_{yx} \right |}{\left | R_y \right | \left |R_x\right |} = 1 - \prod(1-\rho_i^2)$$

Unfortunately, the R2 is sensitive to one of the canonical correlations being very high. An alternative, T2, is the proportion of additive variance and is the average of the squared canonicals. (Cohen et al., 2003), see also Cramer and Nicewander (1979). This average, because it includes some very small canonical correlations, will tend to be too small. Cohen et al. admonition is appropriate: "In the final analysis, however, analysts must be guided by their substantive and methodological conceptions of the problem at hand in their choice of a measure of association." ( p613). Yet another measure of the association between two sets is just the simple, unweighted correlation between the two sets. That is, $$R_{uw} =\frac{ 1 R_{yx} 1' }{(1R_{yy}1')^{.5} (1R_{xx}1')^{.5}}$$. This is just the simple (unweighted) sums of the correlations in each matrix. This technique exemplifies the robust beauty of linear models and is particularly appropriate in the case of one dimension in both x and y, and will be a drastic underestimate in the case of items where the betas differ in sign. When finding the unweighted correlations, as is done in alpha, items are flipped so that they all are positively signed. A typical use in the SAPA project is to form item composites by clustering or factoring (see ICLUST, principal), extract the clusters from these results (factor2cluster), and then form the composite correlation matrix using cluster.cor. The variables in this reduced matrix may then be used in multiple R procedures using set.cor.

Although the overall matrix can have missing correlations, the correlations in the subset of the matrix used for prediction must exist. If the number of observations is entered, then the conventional confidence intervals, statistical significance, and shrinkage estimates are reported. If the input is rectangular, correlations are found from the data. The print function reports t and p values for the beta weights, the summary function just reports the beta weights.

References

J. Cohen (1982) Set correlation as a general mulitivariate data-analytic method. Multivariate Behavioral Research, 17(3):301-341.

J. Cohen, P. Cohen, S.G. West, and L.S. Aiken. (2003) Applied multiple regression/correlation analysis for the behavioral sciences. L. Erlbaum Associates, Mahwah, N.J., 3rd ed edition.

H. Hotelling. (1936) Relations between two sets of variates. Biometrika 28(3/4):321-377.

E.Cramer and W. A. Nicewander (1979) Some symmetric, invariant measures of multivariate association. Psychometrika, 44:43-54.

See Also

cluster.cor, factor2cluster,principal,ICLUST, link{cancor} and cca in the yacca package.

Examples

Run this code
#the Kelly data from Hoteling
kelly <- structure(list(speed = c(1, 0.4248, 0.042, 0.0215, 0.0573), power = c(0.4248, 
1, 0.1487, 0.2489, 0.2843), words = c(0.042, 0.1487, 1, 0.6693, 
0.4662), symbols = c(0.0215, 0.2489, 0.6693, 1, 0.6915), meaningless = c(0.0573, 
0.2843, 0.4662, 0.6915, 1)), .Names = c("speed", "power", "words", 
"symbols", "meaningless"), class = "data.frame", row.names = c(NA, 
-5L))

kelly

set.cor(1:2,3:5,kelly)

set.cor(y=c(7:9),x=c(1:6),data=Thurstone,n.obs=213)
#now try partialling out some variables
set.cor(y=c(7:9),x=c(1:3),z=c(4:6),data=Thurstone) #compare with the previous
#compare complete print out with summary printing 
sc <- set.cor(x=c("gender","education"),y=c("SATV","SATQ"),data=sat.act) # regression from raw data
sc
summary(sc)

Run the code above in your browser using DataLab