I have been trying to minimize my use of Excel in favor of R, but am still stuck when it comes to display simple data cells as is often needed as the last step of an analysis. The following example is one I would like to crack, as it would help me switch to R for this critical part of my workflow.
I would like to illustrate the following correlation matrix in R :
matrix_values <- c(
NA,1.54,1.63,1.15,0.75,0.78,1.04,1.2,0.94,0.89,
17.95,1.54,NA,1.92,1.03,0.78,0.89,0.97,0.86,1.27,
0.95,25.26,1.63,1.92,NA,0.75,0.64,0.61,0.9,0.88,
1.18,0.74,15.01,1.15,1.03,0.75,NA,1.09,1.03,0.93,
0.93,0.92,0.86,23.84,0.75,0.78,0.64,1.09,NA,1.2,
1.01,0.85,0.9,0.88,30.4,0.78,0.89,0.61,1.03,1.2,
NA,1.17,0.86,0.95,1.02,17.64,1.04,0.97,0.9,0.93,
1.01,1.17,NA,0.94,1.09,0.93,17.22,1.2,0.86,0.88,
0.93,0.85,0.86,0.94,NA,0.95,0.96,24.01,0.94,1.27,
1.18,0.92,0.9,0.95,1.09,0.95,NA,1.25,21.19,0.89,
0.95,0.74,0.86,0.88,1.02,0.93,0.96,1.25,NA,18.14)
cor_matrix <- matrix(matrix_values, ncol = 10, nrow = 11)
item_names <- c('Item1','Item2','Item3','Item4','Item5',
'Item6','Item7','Item8','Item9','Item10')
colnames(cor_matrix) <- item_names
rownames(cor_matrix) <- c(item_names, "Size")
The cells should be colored based on their rank (e.g. >95 percentile is completely green, <5 percentile is completely red). The last row should be illustrated by a horizontal bar (representing the fraction of the maximum value).
I have made in Excel the output that I would like to have:
Ideally, I would also like to highlight correlation groups (either manually or by script), like in the following illustration: