Es gibt eine Reihe von Problemen, die es schwierig oder unmöglich machen, verwendbare Informationen aus Ihrer Streudiagramm-Matrix zu extrahieren.
Sie haben zu viele Variablen zusammen angezeigt. Wenn eine Streudiagrammmatrix viele Variablen enthält, wird jedes Diagramm zu klein, um nützlich zu sein. Zu beachten ist, dass viele Diagramme dupliziert werden, was Platz verschwendet. Auch wenn Sie jede Kombination sehen möchten, müssen Sie sie nicht alle zusammen zeichnen. Beachten Sie, dass Sie eine Streudiagramm-Matrix in kleinere Blöcke von vier oder fünf aufteilen können (eine Zahl, die sinnvollerweise sichtbar ist). Sie müssen nur mehrere Diagramme erstellen, eines für jeden Block.
Da Sie viele Daten an diskreten Punkten im Raum haben , werden diese übereinander gestapelt. Sie können also nicht sehen, wie viele Punkte sich an jedem Ort befinden. Es gibt verschiedene Tricks, die Ihnen dabei helfen.
- .5
- Bei so vielen Daten ist es selbst bei Jitter schwierig, die Muster zu erkennen. Sie können Farben verwenden, die stark gesättigt, aber weitgehend transparent sind , um dies zu berücksichtigen. Wenn viele Daten übereinander gestapelt sind, wird die Farbe dunkler, und wenn die Dichte gering ist, ist die Farbe heller.
- Damit die Transparenz funktioniert, benötigen Sie durchgezogene Symbole , um Ihre Daten anzuzeigen, während R standardmäßig hohle Kreise verwendet.
Mit diesen Strategien finden Sie hier ein Beispiel für einen R-Code und die erstellten Diagramme:
# the alpha argument in rgb() lets you set the transparency
cols2 = c(rgb(red=255, green=0, blue=0, alpha=50, maxColorValue=255),
rgb(red=0, green=0, blue=255, alpha=50, maxColorValue=255) )
cols2 = ifelse(breast$class==2, cols2[1], cols2[2])
# here we jitter the data
set.seed(6141) # this makes the example exactly reproducible
jbreast = apply(breast[,1:9], 2, FUN=function(x){ jitter(x, amount=.5) })
jbreast = cbind(jbreast, class=breast[,10]) # the class variable is not jittered
windows() # the 1st 5 variables, using pch=16
pairs(jbreast[,1:5], col=cols2, pch=16)
windows() # the 2nd 5 variables
pairs(jbreast[,6:10], col=cols2, pch=16)
windows() # to match up the 1st & 2nd sets requires more coding
layout(matrix(1:25, nrow=5, byrow=T))
par(mar=c(.5,.5,.5,.5), oma=c(2,2,2,2))
for(i in 1:5){
for(j in 6:10){
plot(jbreast[,j], jbreast[,i], col=cols2, pch=16,
axes=F, main="", xlab="", ylab="")
box()
if(j==6 ){ mtext(colnames(jbreast)[i], side=2, cex=.7, line=1) }
if(i==5 ){ mtext(colnames(jbreast)[j], side=1, cex=.7, line=1) }
if(j==10){ axis(side=4, seq(2,10,2), cex.axis=.8) }
if(i==1 ){ axis(side=3, seq(2,10,2), cex.axis=.8) }
}
}