É possível traçar uma matriz de gráficos de dispersão com ggplot2
, usando ggplot
os recursos interessantes de, como mapear fatores adicionais para cor, forma, etc. e adicionar mais suavidade?
Estou pensando em algo semelhante à base
função pairs
.
Respostas:
Você pode querer experimentar o plotmatrix:
para mim, mpg (primeira coluna em mtcars) não deve ser um fator. Eu não verifiquei, mas não há razão para que seja. No entanto, recebo um gráfico de dispersão :)
Nota: Para referência futura, a
plotmatrix()
função foi substituída pelaggpairs()
função doGGally
pacote como @ naught101 sugere em outra resposta abaixo a esta pergunta.fonte
plotmatrix()
função foi substituída pelaggpairs()
função doGGally
pacote como @ naught101 sugere em outra resposta a esta questão.Eu continuo querendo fazer isso, mas plotmatrix é uma porcaria. Hadley recomenda usar o pacote GGally . Ele tem uma função, ggpairs , que é um gráfico de pares amplamente aprimorado (permite que você use variáveis não contínuas em seus quadros de dados). Ele traça gráficos diferentes em cada quadrado, dependendo dos tipos de variáveis:
fonte
colour
variável deve ser um fator; passou 45 minutos descobrindo isso.melt
criar o dataframe usando a variável de seu interesse como uma variável de id e, em seguida, facetá-la pelas outras variáveis.ggplot(data, aes(x=id, y=value)) + geom_point() + facet_grid(.~variable)
. Presumo que você esteja falando sobre gráficos de dispersão quando diz "gráfico de correlação", porque de outra forma nunca ouvi falar nisso.GGally::ggpairs(iris, aes(colour = Species, alpha=0.4))
Se se deseja obter um
ggplot
objeto (nãoggmatrix
como no caso deggpairs()
), a solução é fundir os dados duas vezes, depoisggplot
com facetação.facet_wrap
seria melhor do quefacet_grid
limitar a área traçada, dado oscales = 'free'
parâmetro é fornecido.fonte