Poziom istotności dodany do macierzy korelacji macierzy przy użyciu ggplot2

Zastanawiam się, w jaki sposób można dodać kolejną warstwę ważnej i wymaganej złożoności do macierzy korelacji macierzy ciepła, jak na przykład wartość p po sposobie gwiazd poziomu istotności oprócz wartości R2 (-1 do 1)?
W tym pytaniu NIE ZOSTAŁO PRZEZNACZONE umieszczenie gwiazd poziomu istotności LUB wartości p jako tekstu na każdym kwadracie macierzy, ALE raczej pokazanie tego w graficznej reprezentacji poziomu istotności na każdym kwadracie macierzy. Myślę, że tylko ci, którzy lubią błogosławieństwo myślenia INNOVATIVE, mogą zdobyć aplauz, aby rozwikłać tego rodzaju rozwiązanie, aby mieć najlepszy sposób reprezentowania tego dodanego komponentu złożoności do naszych „macierzy korelacji z matrycą pół-prawdy”. Wiele googlałem, ale nigdy nie widziałem właściwego lub powiem „przyjazny dla oczu” sposób reprezentowania poziomu znaczenia PLUS standardowych odcieni kolorów, które odzwierciedlają współczynnik R.
Powtarzalny zestaw danych znajduje się tutaj:
http://learnr.wordpress.com/2010/01/26/ggplot2-quick-heatmap-plotting/
Kod R znajduje się poniżej:

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.

Macierz korelacyjna macierzy powinna wyglądać tak:

Wskazówki i pomysły na ulepszenie rozwiązania:
- Ten kod może być przydatny, aby mieć pojęcie o gwiazdkach poziomu istotności zaczerpniętych z tej strony:
http://ohiodata.blogspot.de/2012/06/correlation-tables-in-r-flagged-with.html
Kod R:

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

- Poziom istotności może być dodany jako intensywność koloru do każdego kwadratu jak estetyka alfa, ale nie sądzę, że będzie to łatwe do zinterpretowania i uchwycenia
- Innym pomysłem byłoby posiadanie 4 różnych rozmiarów kwadratów odpowiadających gwiazdom, oczywiście nadając najmniejszy do nieistotnego i zwiększając do pełnego rozmiaru kwadratu, jeśli najwyższe gwiazdy
- Kolejny pomysł na włączenie okręgu do tych znaczących kwadratów i grubość linii okręgu odpowiada poziomowi istotności (3 pozostałe kategorie) wszystkie z nich w jednym kolorze
- Tak samo jak powyżej, ale ustalając grubość linii, dając 3 kolory dla 3 pozostałych znaczących poziomów
- Może wymyślisz lepsze pomysły, kto wie?

questionAnswers(2)

yourAnswerToTheQuestion