Eu acho que o que precisa ser adicionado principalmente à sua lista são coplots , mas vamos trabalhar até isso. O ponto de partida para visualizar duas variáveis contínuas deve sempre ser um gráfico de dispersão. Com mais de duas variáveis, que generalizam naturalmente para uma matriz de gráficos de dispersão (embora se você tiver muitas variáveis, talvez seja necessário dividi-las em várias matrizes, consulte: Como extrair informações de uma matriz de gráficos de dispersão quando você tem N grande, discreto dados e muitas variáveis? ). O que devemos reconhecer é que uma matriz de gráficos de dispersão é um conjunto de projeções marginais 2D de um espaço de maior dimensão. Mas essas margens podem não ser as mais interessantes ou informativas. Exatamente qualas margens que você pode querer examinar são uma questão complicada (cf. busca de projeção ), mas o próximo conjunto mais simples possível de examinar é o conjunto que torna as variáveis ortogonais, ou seja, gráficos de dispersão das variáveis resultantes de uma análise de componentes principais . Você mencionou usar isso para redução de dados e examinar o gráfico de dispersão dos dois primeiros componentes principais. O pensamento por trás disso é razoável, mas você não precisa apenas olhar para as duas primeiras; vale a pena explorar outras (cf. Exemplos de PCA em que PCs com baixa variação são "úteis" ), portanto, você pode / deve fazer uma matriz de dispersão desses também. Outra possibilidade com a saída de um PCA é fazer um biplot, que sobrepõe a maneira como as variáveis originais estão relacionadas aos componentes principais (como setas) na parte superior do gráfico de dispersão. Você também pode combinar uma matriz de dispersão dos principais componentes com biplots.
Todos os itens acima são marginais, como mencionei. Um coplote é condicional (a parte superior da minha resposta aqui contrasta condicional x marginal). Literalmente, 'coplot' é uma palavra combinada de 'plot condicional'. Em um coplot, você está pegando fatias (ou subconjuntos) dos dados nas outras dimensões e plotando os dados nesses subconjuntos em uma série de gráficos de dispersão. Depois de aprender a lê-los, eles são uma boa adição ao seu conjunto de opções para explorar padrões em dados de dimensões mais altas.
Para ilustrar essas idéias, aqui está um exemplo com o conjunto de dados RandU (dados pseudo-aleatórios gerados por um algoritmo popular nos anos 70):
data(randu)
windows()
pairs(randu)
pca = princomp(randu)
attr(pca$scores, "dimnames")[[1]][1:400] = "o"
windows()
par(mfrow=c(3,3), mar=rep(.5,4), oma=rep(2,4))
for(i in 1:3){
for(j in 1:3){
if(i<j){
plot(y=pca$scores[,i], x=pca$scores[,j], axes=FALSE); box()
} else if(i==j){
plot(density(pca$scores[,i]), axes=FALSE, main=""); box()
text(0, .5, labels=colnames(pca$scores)[i])
} else {
biplot(pca, choices=c(j,i), main="", xaxp=c(-10,10,1), yaxp=c(-10,10,1))
}
}
}
windows()
coplot(y~x|z, randu)