Das Signifikanzniveau wurde mithilfe von ggplot2 zur Matrixkorrelations-Heatmap hinzugefügt

Ich frage mich, wie man einer Matrixkorrelations-Heatmap eine weitere Schicht von wichtiger und erforderlicher Komplexität hinzufügen kann, wie zum Beispiel den p-Wert nach der Art der Sterne des Signifikanzniveaus zusätzlich zum R2-Wert (-1 bis 1).
Es war NICHT IN DIESER FRAGE BESTIMMT, auf jedes Quadrat der Matrix Sternchen ODER die p-Werte als Text zu setzen, ABER dies in einer grafischen Out-of-the-Box-Darstellung des Signifikanzniveaus auf jedem Quadrat der Matrix zu zeigen. Ich denke, nur diejenigen, die den Segen des INNOVATIVEN Denkens genießen, können den Applaus dafür gewinnen, diese Art von Lösung zu entschlüsseln, um die beste Darstellung dieser zusätzlichen Komplexitätskomponente in unseren "Half-of-the-Truth-Matrix-Korrelations-Heatmaps" zu erhalten. Ich habe viel gegoogelt, aber noch nie richtig gesehen, oder ich werde eine "augenfreundliche" Art und Weise sagen, um das Signifikanzniveau zuzüglich der Standardfarbtöne, die den R-Koeffizienten widerspiegeln, darzustellen.
Der reproduzierbare Datensatz befindet sich hier:
http://learnr.wordpress.com/2010/01/26/ggplot2-quick-heatmap-plotting/
Den R-Code finden Sie unten:

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.

Die Matrixkorrelations-Heatmap sollte folgendermaßen aussehen:

Hinweise und Ideen zur Verbesserung der Lösung:
- Dieser Code kann hilfreich sein, um eine Vorstellung von den Signifikanzstufensternen zu erhalten, die von dieser Website stammen:
http://ohiodata.blogspot.de/2012/06/correlation-tables-in-r-flagged-with.html
R-Code:

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

- Das Signifikanzniveau kann wie bei der Alpha-Ästhetik jedem Quadrat als Farbintensität hinzugefügt werden, aber ich denke nicht, dass dies einfach zu interpretieren und zu erfassen ist
- Eine andere Idee wäre, 4 verschiedene Größen von Quadraten zu haben, die den Sternen entsprechen, wobei natürlich das kleinste dem nicht signifikanten entspricht und ein Quadrat voller Größe entsteht, wenn die höchsten Sterne vorhanden sind
- Eine andere Idee, einen Kreis in diese signifikanten Quadrate einzufügen, und die Dicke der Linie des Kreises entspricht dem Signifikanzniveau (die 3 verbleibenden Kategorien), die alle eine Farbe haben
- Wie oben, aber die Linienstärke wird korrigiert, während für die 3 verbleibenden signifikanten Ebenen 3 Farben angegeben werden
- Vielleicht haben Sie bessere Ideen, wer weiß?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage