Gráficos de rede em R
Ele oferece suporte a vários tipos de gráficos, como gráficos de dispersão, gráficos de linhas, gráficos de barras e histogramas, entre outros.
O formato típico é
graph_type(formula, data=)
onde graph_type é selecionado entre os listados abaixo. formula especifica a(s) variável(is) a ser(em) exibida(s) e quaisquer variáveis condicionantes. Por exemplo, ~x|A significa exibir a variável numérica x para cada nível do fator A. y~x | A*B significa exibir a relação entre as variáveis numéricas y e x separadamente para cada combinação dos níveis dos fatores A e B. ~x significa exibir a variável numérica x sozinha.
graph_type | descrição | Exemplos de fórmulas |
barchart | gráfico de barras | xA |
bwplot | boxplot | xA |
nuvem | Gráfico de dispersão 3D | z~x*y |
gráfico de contorno | Gráfico de contorno 3D | z~x*y |
gráfico de densidade | Gráfico de densidade do núcleo | ~x |
dotplot | dotplot | ~x |
histogram | histogram | ~x |
gráfico de nível | Gráfico de nível 3D | z~y*x |
paralelo | gráfico de coordenadas paralelas | quadro de dados |
splom | scatterplot matrix | quadro de dados |
stripplot | parcelas de faixas | |
xyplot | scatterplot | y~x |
estrutura de arame | Gráfico de wireframe 3D | z~y*x |
Aqui estão alguns exemplos. Eles usam os dados do carro (quilometragem, peso, número de marchas, número de cilindros, etc.) do quadro de dados mtcars.
# Lattice Examples
library(lattice)
attach(mtcars)
# create factors with value labels
gear.f<-factor(gear,levels=c(3,4,5),
labels=c("3gears","4gears","5gears"))
cyl.f <-factor(cyl,levels=c(4,6,8),
labels=c("4cyl","6cyl","8cyl"))
# kernel density plot
densityplot(~mpg,
main="Density Plot",
xlab="Miles per Gallon")
# kernel density plots by factor level
densityplot(~mpg|cyl.f,
main="Density Plot by Number of Cylinders",
xlab="Miles per Gallon")
# kernel density plots by factor level (alternate layout)
densityplot(~mpg|cyl.f,
main="Density Plot by Numer of Cylinders",
xlab="Miles per Gallon",
layout=c(1,3))
# boxplots for each combination of two factors
bwplot(cyl.f~mpg|gear.f,
ylab="Cylinders", xlab="Miles per Gallon",
main="Mileage by Cylinders and Gears",
layout=(c(1,3))
# scatterplots for each combination of two factors
xyplot(mpg~wt|cyl.f*gear.f,
main="Scatterplots by Cylinders and Gears",
ylab="Miles per Gallon", xlab="Car Weight")
# 3d scatterplot by factor level
cloud(mpg~wt*qsec|cyl.f,
main="3D Scatterplot by Cylinders")
# dotplot for each combination of two factors
dotplot(cyl.f~mpg|gear.f,
main="Dotplot Plot by Number of Gears and Cylinders",
xlab="Miles Per Gallon")
# scatterplot matrix
splom(mtcars[c(1,3,4,5,6)],
main="MTCARS Data")
Observe, como no gráfico 1, que a especificação de uma variável de condicionamento é opcional. A diferença entre os gráficos 2 e 3 é o uso da opção de layout para controlar o posicionamento dos painéis.
Personalizando gráficos de rede
Diferentemente dos gráficos R básicos, os gráficos de treliça não são afetados por muitas das opções definidas na função par( ). Para ver as opções que podem ser alteradas, consulte help(xyplot). Geralmente, é mais fácil definir essas opções nas funções de plotagem de alto nível descritas acima. Além disso, você pode escrever funções que modificam a renderização dos painéis. Aqui está um exemplo.
# Customized Lattice Example
library(lattice)
panel.smoother <- function(x, y) {
panel.xyplot(x, y) # show points
panel.loess(x, y) # show smoothed line
}
attach(mtcars)
hp <- cut(hp,3) # divide horse power into three bands
xyplot(mpg~wt|hp, scales=list(cex=.8, col="red"),
panel=panel.smoother,
xlab="Weight", ylab="Miles per Gallon",
main="MGP vs Weight by Horse Power")
Indo além
Os gráficos de rede são um sistema gráfico abrangente por si só. O livro de Deepanyan Sarkar Lattice: Multivariate Data Visualization with R</a > é a referência definitiva. Além disso, consulte o Guia do Usuário do Trellis</a >. Dr. Ihaka criou um maravilhoso conjunto de slides sobre o assunto. Uma excelente consideração inicial sobre gráficos de treliça pode ser encontrada em W.S. O livro clássico de Cleveland Visualizing Data</a > .
Para praticar
Experimente este curso sobre Distribuições de probabilidade multivariada em R</a > .