Vamos agora apresentar alguns gráficos simples de se fazer no R. Para não deixarmos os gráficos tão deselegantes a ponto de serem inúteis, vamos incluir algumas características em cada um. A base de dados utilizada será novamente a german_credit_21, que dessa vez será chamada de dados_credito, para não causar confusão.
1. Gráfico de Dispersão: Um dos mais fáceis de se fazer, basta utilizar a função plot(). Você pode fazer com todos os seus dados utilizando simplesmente o comando plot(dados_credito). Porém, como aqui temos diversas colunas, o resultado será ruim de se avaliar. Para facilitar a explicação e visualização, vamos escolher as colunas com a duração do crédito em meses, o montante do crédito e a idade do tomador do empréstimo. No primeiro código vamos mostrar como salvar o gráfico no seu diretório utilizando o jpeg() antes da função que traça o gráfico e o dev.off() após a função, caso você não feche o instrumento você não verá seu gráfico no arquivo salvo:
library(xlsx); dados_credito = read.xlsx("C:/Users/Yukio/Desktop/german_credit_21.xlsx", 1, header=TRUE); jpeg("../grafico_dispersao.jpeg"); ## guarda a img gerada plot(dados_credito[, c(5,14)]); ## plota o grafico dev.off(); ## Poderíamos ter trocado dados_credito[, c(5,14)] ## por dados_credito[,c("DurationOfCreditMonth", "CreditAmount")
Se quisermos um gráfico de dispersão com a reta que mais se ajusta aos pontos precisamos utilizar a função abline() e adicionar a reta que queremos. As vezes podemos utilizar simplesmente uma reta horizontal qualquer, caso a gente queira saber se os pontos estão distribuídos ao redor de algum valor. Aqui, queremos saber o comportamento dessas duas informações em conjunto, portanto, utilizaremos uma função de regressão linear:
plot(dados_credito[, c(3,6)]); abline(lm(CreditAmount~DurationOfCreditMonth, data=dados_credito), col="red"); ## Para tracar uma reta horizontal como explicado acima, ## voce poderia fazer: abline(h=10000, col="red")
## grafico com combinacao de varias variaveis jpeg("../grafico_dispersao.jpeg"); plot(dados_credito[, c(3,5,14)]); dev.off();
2. Histograma: Na função plot temos um gráfico que se assemelha a um histograma, mas não é, afinal um histograma é um gráfico de frequência de uma variável. Ele vai apresentar como sua variável está distribuída, se a maioria dos valores se concentra nas pontas, no meio, etc. Para fazer um histograma no R é bem fácil também, basta utilizar a função hist(). Como já é intuitivo para o leitor que o código hist(dados_credito$Age) vai nos retornar um histograma com a distribuição das idades, já vamos incluir o título do gráfico e alterar as cores das barras do histograma. Além disso, temos um exemplo com as quebras que o R tem como padrão, e um segundo com mais quebras utilizando breaks:
hist(dados_credito$Age, main = "Distribuição das Idades", xlab = "Idade", ylab = "Frequência", col = 'blue');
hist(dados_credito$Age, main = "Distribuição das Idades", xlab = "Idade", ylab = "Frequência", col = 'blue', breaks=100);
3. Boxplot: Mais um gráfico que está nos primeiros capítulos de todos os livros de estatística. O boxplot também serve para representar a distribuição dos seus dados. Neste gráfico, fica fácil visualizar onde seus dados estão concentrados porque você consegue ver a posição dos quartis, além dos outliers. No R você pode verificar a distribuição individualmente ou em pares:
boxplot(dados_credito$Age, main="Boxplot da Idade");
boxplot(Age~DurationOfCreditMonth,data=dados_credito, main = "Boxplot Cruzado",xlab="Idade", ylab="Duração do Crédito em Meses");
4. Mapa de Calor (Heatmap): O mapa de calor é uma forma de demonstrar dados bem bacana. Nele, você consegue marcar valores mais altos com uma cor e mais baixos com outra. Muita gente já deve ter utilizado a formatação condicional no excel, que é basicamente a mesma coisa. O mapa de calor no R é interessante para você ver, por exemplo, uma matriz de correlação. Sendo que aqui, você poderá ver os pares com correlação mais forte ou mais fraca de acordo com as cores utilizadas. Vejam dois exemplos com diferentes funções, novamente limitando um pouco nossos dados:
library(ggplot2); library(reshape2); colnames(dados_credito)[1:5] = c("Credibilidade","Saldo","Duração","Status", "Motivo"); qplot(x=X1, y=X2, data=melt(cor(dados_credito[,c(1:5)], use="p")), fill=value, geom="tile") +scale_fill_gradient2(limits=c(-1, 1));
install.packages("ggplot2") library(ggplot2); library(reshape2); ggplot(data = melt(cor(dados_credito[,c(1:5)], use="p")), aes(x=X1, y=X2, fill=value)) + geom_tile()+ scale_fill_gradient2(low="darkblue", high="darkgreen", guide="colorbar");
BÔNUS: DIVERSOS GRÁFICOS EM UMA MESMA JANELA
par(mfrow=c(3,2)); plot(dados_credito$Age); boxplot(dados_credito$Age); hist(dados_credito$Age); plot(dados_credito$Age, type = 'l'); plot(dados_credito$Age, type = 'h');
Leia também:
Personalizando seu gráfico do ggplot2 – Exports and Imports, William Playfair
Mais gráficos no R: qqplot()
Comparando graficamente dois grupos
Q-Q plot: Comparando duas distribuições
Análise Bidimensonal para Variáveis Quantitativas
Gráficos no R com qqplot() (Histograma, Gráficos de Dispersão e Boxplot)
Desenhando Gráficos de Diversas Variáveis no R
GGPLOT( ) é o Puro Creme dos Gráficos em R