How can I find the correlation between groups of *attributes*? Assume I have data where multiple attributes are measured for countries and the attributes can be divided into dimensions. For example one dimension can be 'Education' and have 5 attributes associated to it, and another dimension can be 'Income' and have 4 attributes associated to it.
How can I find a scalar value that will represent the correlation between 'Education' and 'Income' ?
One idea that came to mind is Canonical Correlation Analysis but I have many missing values.
 A: Consider variable clustering using hierarchical clustering on a similar measure which is the squared Spearman correlation, as implemented in the R Hmisc package varclus function.  Though this will not keep the variables within a group together, it will provide a free-floating depiction of how variables interrelate.  More to the point it will show you how to implement exactly what you need when you force your own clusters, because the result of hierarchical clustering is to quantify the Spearman $\rho^2$ for one cluster with another cluster by computing the average of all the pairwise $\rho^2$ between all possible pairs of single variables from different clusters.
A: I would choose Spearman's correlation coefficient. It's non-parametric and can be used for ordinal variables which I believe is your case (the attributes of education and income can be ordered).
I'm not sure which software you are using but it's very straight forward to calculate the Spearman correlations in any software
A: You may also consider running PCA (principal component analysis) for each of your groups and taking first component as representation of each group.
Then you can simply correlate components.
Provided, of course, they explain reasonable amonut of variation.
