Уровень значимости добавлен в матричную тепловую карту корреляции с использованием ggplot2

Интересно, как можно добавить еще один слой важной и необходимой сложности в тепловую карту корреляции матриц, как, например, значение p по образцу звезд значимости в дополнение к значению R2 (от -1 до 1)?
В этом вопросе НЕ НАМЕРЕНО ставить звезды уровня значимости ИЛИ значения p в виде текста на каждом квадрате матрицы, НО, скорее, чтобы показать это в графическом представлении уровня значимости на каждом квадрате матрицы. Я думаю, что только те, кто наслаждается благословением ИННОВАЦИОННОГО мышления, могут выиграть аплодисменты, чтобы разгадать такое решение, чтобы иметь лучший способ представить этот дополнительный компонент сложности в наших «тепловых картах корреляции матрицы половин правды». , Я много гуглил, но никогда не видел подходящего, или я скажу «приятный для глаз» способ представления уровня значимости ПЛЮС стандартных цветовых оттенков, которые отражают коэффициент R.
Воспроизводимый набор данных находится здесь:
http://learnr.wordpress.com/2010/01/26/ggplot2-quick-heatmap-plotting/
Код R вы найдете ниже:

library(ggplot2)
library(plyr) # might be not needed here anyway it is a must-have package I think in R 
library(reshape2) # to "melt" your dataset
library (scales) # it has a "rescale" function which is needed in heatmaps 
library(RColorBrewer) # for convenience of heatmap colors, it reflects your mood sometimes
nba <- read.csv("http://datasets.flowingdata.com/ppg2008.csv")
nba <- as.data.frame(cor(nba[2:ncol(nba)])) # convert the matrix correlations to a dataframe 
nba.m <- data.frame(row=rownames(nba),nba) # create a column called "row"
rownames(nba) <- NULL #get rid of row names
nba <- melt(nba)
nba.m$value<-cut(nba.m$value,breaks=c(-1,-0.75,-0.5,-0.25,0,0.25,0.5,0.75,1),include.lowest=TRUE,label=c("(-0.75,-1)","(-0.5,-0.75)","(-0.25,-0.5)","(0,-0.25)","(0,0.25)","(0.25,0.5)","(0.5,0.75)","(0.75,1)")) # this can be customized to put the correlations in categories using the "cut" function with appropriate labels to show them in the legend, this column now would be discrete and not continuous
nba.m$row <- factor(nba.m$row, levels=rev(unique(as.character(nba.m$variable)))) # reorder the "row" column which would be used as the x axis in the plot after converting it to a factor and ordered now
#now plotting
ggplot(nba.m, aes(row, variable)) +
geom_tile(aes(fill=value),colour="black") +
scale_fill_brewer(palette = "RdYlGn",name="Correlation")  # here comes the RColorBrewer package, now if you ask me why did you choose this palette colour I would say look at your battery charge indicator of your mobile for example your shaver, won't be red when gets low? and back to green when charged? This was the inspiration to choose this colour set.

Тепловая карта корреляции матрицы должна выглядеть так:
enter image description here

Советы и идеи для улучшения решения:
- Этот код может быть полезен, чтобы иметь представление о звездах уровня значимости, взятых с этого сайта:
http://ohiodata.blogspot.de/2012/06/correlation-tables-in-r-flagged-with.html
Код R:

mystars <- ifelse(p < .001, "***", ifelse(p < .01, "** ", ifelse(p < .05, "* ", " "))) # so 4 categories  

- Уровень значимости можно добавить как интенсивность цвета к каждому квадрату, как альфа-эстетику, но я не думаю, что это будет легко интерпретировать и уловить
- Другая идея состоит в том, чтобы иметь 4 различных размера квадратов, соответствующих звездам, конечно, давая наименьшее для несущественного и увеличивая до полного размера квадрата, если самые высокие звезды
- Другая идея включить круг внутри этих значимых квадратов, а толщина линии круга соответствует уровню значимости (3 оставшиеся категории), все они одного цвета
- То же самое, что и выше, но фиксирование толщины линии и предоставление 3 цветов для 3 оставшихся значимых уровней.
- Может быть, вы придумаете лучшие идеи, кто знает?

Ответы на вопрос(2)

Ваш ответ на вопрос