##Gráficos de Base R
Fórmula geral - graphics_function(data, arg1, arg2.....)
library(MASS)
View(Cars93)
Para criar um histograma da distribuição de preços nesse data frame, digite:
hist(Cars93$Price)
Ajeita-se o histograma, adicionando argumentos a ele. Adiciona-se:
hist(Cars93$Price, xlab="Price (x $1,000)" , xlim = c(0,70), main = "Price of the Models of 1993 Cars")
xlab - mudar o rótulo do eixo x; ylab - mudar eixo y (não usamos aqui); xlim - aumentar limite inferior para superior (nesse caso de 0 a 70); main - título do histograma.
O número de colunas o R escolheu (nesse caso 12), mas podemos por meio do breaks determinar:
hist(Cars93$Price, xlab="Price (x $1,000)" , xlim = c(0,70), breaks = 2, main = "Price of the Models of 1993 Cars")
table(Cars93$Type)
##
## Compact Large Midsize Small Sporty Van
## 16 11 22 21 14 9
Plotar com Barplot
barplot(table(Cars93$Type))
Adicionando rótulos:
ylim = c(0,25) - colocar de 0 a 25 no eixo y;
xlab = "Type" e ylab = "Frequency" para os rótulos x e y;
axis.lty = "solid" - Desenhar um eixo sólido (tipo de linha de eixo);
space = .05- aumentar o espaçamento entre as barras
barplot(table(Cars93$Type), ylim = c(0,25), xlab = "Type", ylab = "Frequency", axis.lty = "solid", space = .05)
pie(table(Cars93$Type))
type.frame <- data.frame(table(Cars93$Type))
type.frame
## Var1 Freq
## 1 Compact 16
## 2 Large 11
## 3 Midsize 22
## 4 Small 21
## 5 Sporty 14
## 6 Van 9
dotchart(type.frame$Freq, type.frame$Var1)
Essa outra linha de comando também funciona
dotchart(type.frame[, 2], type.frame[, 1])
Criar vetor de valores nas células
rev.values <- c(1000,1300,1300,1100,1400,800,1200,1500,1850,2330,860,1300,1400,1600,1970,570,380,450,465,580,155,190,210,250,300)
Transformar valores em matriz, informando o R quantas linhas (ou colunas) terá a matriz e quais valores carregar na matriz linha a linha:
space.rev <- matrix(rev.values,nrow = 5,byrow = T)
Por fim, fornecer os nomes das colunas e das linhas da matriz:
colnames(space.rev) <- c("1990","1991","1992","1993","1994")
row.names(space.rev) <- c("Commercial Satellites Delivered","Satellite Services","Satellite Ground equipment","Commercial Launches","Remote Sensing Data")
Vejamos a matriz:
space.rev
## 1990 1991 1992 1993 1994
## Commercial Satellites Delivered 1000 1300 1300 1100 1400
## Satellite Services 800 1200 1500 1850 2330
## Satellite Ground equipment 860 1300 1400 1600 1970
## Commercial Launches 570 380 450 465 580
## Remote Sensing Data 155 190 210 250 300
1 - Criar um vetor de cores para as barras:
color.names = c("black","gray25","grey50","grey75","white")
Finalmente o gráfico:
barplot(space.rev, beside = T, xlab= "Year", ylab= "Revenue (X $1,000", col=color.names)
beside=Tsignifica que as barras ficarão lado a lado. O col=color.namesfornece as cores especificadas no vetor.
plot(Cars93$Horsepower, Cars93$MPG.city, xlab = "Horsepower", ylab = "MPG City", main = "MPG City vs Horsepower")
O R possibilita a mudança do símbolo que representa os pontos. Use o argumento pch. O R tem um conjunto de valores numéricos de 0 a 25, ONDE de 0 a 15 formas ocas e 16 a 25 formas preenchidas.
plot(Cars93$Horsepower, Cars93$MPG.city, xlab = "Horsepower", ylab = "MPG City", main = "MPG City vs Horsepower", pch=16)
Para configurar cada ponto com o número do cilindro em vez de símbolo:
plot(Cars93$Horsepower, Cars93$MPG.city, xlab = "Horsepower", ylab = "MPG City", main = "MPG City vs Horsepower", pch= as.character(Cars93$Cylinders))
Visualizar relacionamento entre mais de 2 variáveis. Os nomes das variáveis estão nas células da diagonal principal. Cada célula fora da diagonal, mostra o diagrama de dispersão para sua própria variável de linha (eixo y) e sua variável de coluna (eixo x).
Para diagramar essa matriz é a função pairs.
Criar um dataframe que seja um subconjunto do Cars93.
A função subsetfaz isso:
cars.subset <- subset(Cars93, select = c(MPG.city,Price,Horsepower))
Para dar uma olhada, usar a função head.
head(cars.subset)
## MPG.city Price Horsepower
## 1 25 15.9 140
## 2 18 33.9 200
## 3 20 29.1 172
## 4 19 37.7 172
## 5 22 30.0 208
## 6 22 15.7 110
E finalmente:
pairs(cars.subset)
boxplot(Cars93$Horsepower ~ Cars93$Cylinders, xlab = "Cylinders", ylab = "Horsepower")
Outra maneira:
boxplot(Horsepower ~ Cylinders, data = Cars93, xlab = "Cylinders", ylab = "Horsepower")
Referência
Schmuller, Joseph. Análise Estatística com R - Para leigos - Tradução da 2a edição. Alta Books Editora. 2019.