. (Pode reportar um problema sobre o conteúdo desta página aqui)Quer partilhar o seu conteúdo em R-bloggers? clique aqui se tiver um blog, ou aqui se não tiver.

Na próxima semana cobriremos o básico de como criar os seus próprios histogramas em R. Três opções serão exploradas: comandos R básicos, ggplot2 e ggvis. Estes posts são destinados a utilizadores iniciais e intermediários de R que precisam de um recurso acessível e fácil de compreender. Deseja saber mais? Descubra os tutoriais de R em DataCamp.

O que é um Histograma?

Um histograma é uma representação visual da distribuição de um conjunto de dados. Como tal, a forma de um histograma é a sua característica mais óbvia e informativa: permite ver facilmente onde se encontra uma quantidade relativamente grande dos dados e onde há muito poucos dados a serem encontrados (Verzani 2004). Por outras palavras, pode ver onde está o meio na sua distribuição de dados, quão perto estão os dados em torno deste meio e onde se encontram possíveis aberturas. Exactamente por causa de tudo isto, os histogramas são uma excelente forma de conhecer os seus dados!

Mas como é exactamente essa forma específica de um histograma? Em suma, o histograma consiste num eixo x, um eixo y e várias barras de diferentes alturas. O eixo y mostra a frequência com que os valores no eixo x ocorrem nos dados, enquanto que as barras agrupam gamas de valores ou categorias contínuas no eixo x. Este último explica porque é que os histogramas não têm intervalos entre as barras.

Nota que as barras dos histogramas são frequentemente chamadas “caixas”; Este tutorial também usará esse nome.

Como Fazer um Histograma com R

Passo Um – Mostre-me os Dados

P>Os histogramas requerem que alguns dados sejam plotados em primeiro lugar, importa-se bem um conjunto de dados ou usa-se um que está incorporado em R. Este tutorial faz uso de dois conjuntos de dados: o conjunto de dados R incorporado AirPassengers e um conjunto de dados chamado chol, armazenado num ficheiro .txt e disponível para download.

chol = read.csv("https://s3.amazonaws.com/assets.datacamp.com/blog_assets/chol.txt", sep = " ") 

Segundo Passo – Familiarize-se com a Função Hist() Função

Pode simplesmente fazer um histograma usando a função hist(), que calcula um histograma dos valores dos dados fornecidos. Coloca o nome do seu conjunto de dados entre os parênteses desta função, assim:

hist(AirPassengers)

Que resulta no seguinte histograma:

Contudo, se quiser seleccionar apenas uma determinada coluna de uma moldura de dados, chol por exemplo, para fazer um histograma, terá de usar a função hist() com o nome do conjunto de dados em combinação com o sinal $, seguido do nome da coluna:

hist(chol$AGE) #computes a histogram of the data values in the column AGE of the dataframe named "chol”

Passo Três – Take The Hist() Function Up A Notch

Os histogramas da secção anterior parecem um pouco maçadores, não parecem? As visualizações por defeito geralmente não contribuem muito para a compreensão dos seus histogramas. Portanto, é necessário dar mais um passo para alcançar uma melhor e mais fácil compreensão dos seus histogramas. Felizmente, isto não é muito difícil: R permite várias formas fáceis e rápidas de optimizar a visualização dos diagramas, utilizando ainda a função hist().

Para adaptar o seu histograma, basta adicionar mais argumentos à função hist(), tal como esta:

hist(AirPassengers, main="Histogram for Air Passengers", xlab="Passengers", border="blue", col="green", xlim=c(100,700), las=1, breaks=5)

Este código calcula um histograma dos valores dos dados do conjunto de dados AirPassengers, dá-lhe como título “Histograma para Passageiros Aéreos”, rotula o eixo x como “Passageiros”, dá uma borda azul e uma cor verde aos contentores, enquanto limita o eixo x de 100 a 700, roda os valores impressos no eixo y por 1 e muda a largura do contentor para 5.

Obervado por esta grande sequência de código? Não se preocupe! Vamos apenas quebrá-lo em pedaços mais pequenos para ver o que cada argumento faz.

Nomes/cores

Mude o título do histograma adicionando main como argumento para hist() função:

hist(AirPassengers, main="Histogram for Air Passengers") #Histogram of the AirPassengers dataset with title "Histogram for Air Passengers”

Para ajustar a etiqueta do eixo x, adicionar xlab. Da mesma forma, também pode usar ylab para rotular o eixo y:

hist(AirPassengers, xlab="Passengers", ylab="Frequency of Passengers") #Histogram of the AirPassengers dataset with changed labels on the x-and y-axes

Se quiser alterar as cores do histograma padrão, basta adicionar os argumentos border ou col. Pode ajustar, como os nomes em si, as bordas ou as cores do seu histograma.

hist(AirPassengers, border="blue", col="green") #Histogram of the AirPassengers dataset with blue-border bins with green filling

Tip não se esqueça de colocar as cores e os nomes entre "".

X e Y Eixos

Mude o intervalo dos valores x e y nos eixos adicionando xlim e ylim como argumentos à função hist():

hist(AirPassengers, xlim=c(100,700), ylim=c(0,30)) #Histogram of the AirPassengers dataset with the x-axis limited to values 100 to 700 and the y-axis limited to values 0 to 30

Nota a função c() é usada para delimitar os valores nos eixos quando se usa xlim e ylim. São necessários dois valores: o primeiro é o valor inicial, o segundo é o valor final

Rotate as etiquetas no eixo y, adicionando “las = 1” como argumento. las pode ser 0, 1, 2 ou 3.

hist(AirPassengers, las=1) #Histogram of the AirPassengers dataset with the y-values projected horizontally

Segundo a opção que escolher, a colocação da etiqueta será diferente: se escolher 0, a etiqueta será sempre paralela ao eixo (que é o padrão); se escolher 1, a etiqueta será colocada horizontalmente. Escolha 2 se quiser que seja perpendicular ao eixo e 3 se quiser que seja colocada verticalmente.

Bins

Pode alterar a largura do contentor adicionando breaks como argumento, juntamente com o número de pontos de quebra que deseja ter:

hist(AirPassengers, breaks=5) #Histogram of the AirPassengers dataset with 5 breakpoints

Se quiser ter mais controlo sobre os pontos de quebra entre caixas, pode enriquecer o argumento breaks dando-lhe um vector de pontos de quebra. Pode fazê-lo utilizando a função

hist(AirPassengers, breaks=c(100, 300, 500, 700)) #Compute a histogram for the data values in AirPassengers, and set the bins such that they run from 100 to 300, 300 to 500 and 500 to 700.

No entanto, a função c() pode, por vezes, tornar o seu código muito confuso. É por isso que pode em vez disso adicionar =seq(x, y, z). Os valores de x, y e z são determinados por si mesmo e representam, por ordem de aparecimento, o número inicial do eixo x, o número final do eixo x e o intervalo em que estes números aparecem.

Nota que também se pode combinar as duas funções:

hist(AirPassengers, breaks=c(100, seq(200,700, 150))) #Make a histogram for the AirPassengers dataset, start at 100 on the x-axis, and from values 200 to 700, make the bins 150 wide

Estude bem as mudanças no eixo y quando experimentar os números utilizados no argumento seq!

Nota que a largura diferente das barras ou caixas pode confundir as pessoas e as partes mais interessantes dos seus dados podem encontrar-se não destacadas ou mesmo escondidas quando aplica esta técnica ao seu histograma original. Portanto, basta experimentar com isto e ver o que melhor se adequa aos seus propósitos!

Extra: Densidade de Probabilidade

A função hist() mostra-lhe por defeito a frequência de um determinado contentor no eixo y. No entanto, se quiser ver a probabilidade de ocorrer um intervalo de valores do eixo x, necessitará de uma densidade de probabilidade em vez de frequência. Queremos, portanto, pedir um histograma de proporções. Pode alterar isto definindo o freq argumento para falso ou definir o prob argumento para verdadeiro:

hist(AirPassengers, main="Histogram for Air Passengers", xlab="Passengers", border="blue", col="green", xlim=c(100,700), las=1, breaks=5, prob = TRUE)#Histogram of the AirPassengers dataset with a probability density expressed through the y-axis instead of the regular frequency.

Após ter chamado a função hist() para criar o gráfico de densidade de probabilidade acima, pode subsequentemente adicionar uma curva de densidade ao seu conjunto de dados usando a função lines():

lines(density(AirPassengers)) #Get a density curve to go along with your AirPassengers histogram

Nota que esta função requer que defina o prob argumento do histograma para verdadeiro primeiro!

Passo Quatro. Quer ir mais longe?

Para uma lista exaustiva de todos os argumentos que pode acrescentar à função hist(), veja o artigo de documentação sobre a função hist().

Este é o primeiro de 3 posts sobre a criação de histogramas com R. O próximo post cobrirá a criação de histogramas usando o ggplot2.

Spotted a error? Envie-nos um tweet

O post How to Make a Histogram with Basic R apareceu primeiro no Blog DataCamp .

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *