Pular para o conteúdo principal
Documentos
Compartir
LinkedIn
Facebook
Twitter
Copy
Gerenciamento de dados em REntrada de dados em RGráficos em RDocumentação RInterface REstatísticas em R

Gráficos de rede em R

O pacote lattice</a >, escrito por Deepayan Sarkar, tem como objetivo aprimorar os gráficos básicos do R, fornecendo padrões aprimorados e visualização simplificada de relações multivariadas. Um de seus principais recursos é o suporte à criação de gráficos de treliça, que permitem a exibição de variáveis ou relações entre variáveis, condicionadas a uma ou mais variáveis.

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 xAou Ax
bwplot boxplot xAou Ax
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 Ax ou xA
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")

densidade1 densidade 2 densidade 3 boxplot

gráfico de dispersão Gráfico de dispersão 3D gráfico de pontos matriz de dispersão

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")

gráfico de treliça personalizado

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 > .