Pular para o conteúdo principal
InicioTutoriaisProgramação R

Como criar um histograma no R básico

Descubra como criar um histograma com o Base R usando nosso tutorial abrangente de 6 etapas. Personalize seus gráficos e visualize as distribuições de dados com eficiência.
Actualizado 11 de set. de 2024  · 10 min leer

Neste tutorial, visualizaremos as distribuições de dados traçando histogramas usando a linguagem de programação R. Abordaremos o que é um histograma, como ler dados no R, como criar um histograma e como personalizar o gráfico. 

Usaremos a linguagem de programação R básica, sem pacotes adicionais. Essa abordagem é especialmente útil quando pacotes adicionais não podem ser usados ou quando você está procurando análises exploratórias rápidas. Em outros casos, você pode considerar o uso de ggplot2, conforme abordado em nosso tutorial How to Make a ggplot2 Histogram in R.

Para executar facilmente todos os exemplos de código deste tutorial, você pode criar gratuitamente uma pasta de trabalho do DataLab que tenha o R pré-instalado e contenha todos os exemplos de código. Para que você possa praticar mais como criar um histograma no R, confira este exercício prático do DataCamp.

O que é um histograma?

Um histograma é um gráfico muito popular usado para mostrar distribuições de frequência em variáveis contínuas (numéricas). Os histogramas nos permitem ver o número de observações nos dados dentro dos intervalos que a variável abrange.

Os histogramas são semelhantes aos gráficos de barras. Uma diferença importante entre os dois é que os gráficos de barras têm um valor associado a uma categoria específica ou variável discreta, enquanto um histograma visualiza frequências para variáveis contínuas. 

Configuração de dados para histogramas

Usaremos esse conjunto de dados de moradia que inclui detalhes sobre diferentes listagens de casas, inclusive o tamanho da casa, o número de cômodos, o preço e as informações de localização. Podemos ler os dados usando a função read.csv(), seja diretamente do URL ou baixando o arquivo csv em um diretório e lendo-o em nosso armazenamento local. Também podemos especificar que queremos armazenar apenas as colunas que nos interessam neste tutorial: preço e condição.

home_data <- read.csv("https://raw.githubusercontent.com/rashida048/Datasets/master/home_data.csv")[ ,c('price', 'condition')]

Vamos examinar as primeiras linhas de dados usando a função head()

head(home_data, 5)

image11.png

Criando histogramas com o Base R

Em seguida, criaremos um histograma usando a função hist() para analisar a distribuição de preços em nosso conjunto de dados.

hist(home_data$price)

Criar um histograma de preços de imóveis na base R

Histograma básico de preços de imóveis residenciais. Imagem do autor.

Adição de estatísticas descritivas

Podemos adicionar estatísticas descritivas ao histograma usando a função abline(). Isso adiciona uma linha vertical ao gráfico.

  • Defina o argumento v como a posição no eixo x para a linha vertical. Aqui, obtemos o preço médio dos imóveis usando mean().
  • O argumento col define a cor da linha, nesse caso, para vermelho.
  • O argumento lwd define a largura da linha. Um valor de 3 aumenta a espessura da linha para facilitar a visualização.
hist(home_data$price)

abline(v = mean(home_data$price), col='red', lwd = 3)

Plotagem de densidades de probabilidade

Para adicionar uma linha de densidade de probabilidade ao histograma, primeiro alteramos o eixo y para que seja dimensionado de acordo com a densidade. Na chamada para hist(), definimos o argumento probability como TRUE.

A linha de densidade de probabilidade é criada com uma combinação de density(), que calcula a posição da curva de densidade de probabilidade, e lines(), que adiciona a linha ao gráfico existente.

hist(home_data$price, probability = TRUE)
abline(v = mean(home_data$price), col='red', lwd = 3)
lines(density(home_data$price), col = 'green', lwd = 3)

Um histograma base R de preços de imóveis residenciais com a média destacada
Histograma de preços de imóveis residenciais com a média destacada. Imagem do autor.

Observe que os números no eixo y foram alterados.

Personalização da cor

Podemos alterar as cores dentro dos compartimentos no histograma usando o parâmetro col da função hist(). Vamos alterar o preenchimento para azul. Você também pode alterar a cor do contorno das barras usando o parâmetro border. Alteraremos a cor dos contornos para branco.

hist(home_data$price, col = 'blue', border = "white")

Um histograma R básico de preços de imóveis residenciais com adição de corHistograma de preços de imóveis residenciais com adição de cor. Imagem do autor.

Adição de rótulos e títulos

Podemos alterar os rótulos do gráfico para torná-lo mais legível e apresentável. Isso é útil se você compartilhar o gráfico com outras pessoas.

  • xlab define o rótulo do eixo x
  • ylab define o rótulo do eixo y
  • main define o título do gráfico
hist(home_data$price, xlab = 'Price (USD)', ylab = 'Number of Listings', main = 'Distribution of House Prices')

Um histograma R básico com rótulos de eixo adicionadosHistograma de preços de imóveis residenciais com rótulos de eixo. Imagem do autor.

Binning usando quebras

Com os argumentos padrão, é difícil ver a distribuição completa dos preços das moradias em toda a faixa de preços. Podemos ver que eles estão centralizados nos primeiros compartimentos, mas não são muito descritivos. 

Você pode adicionar mais compartimentos usando o parâmetro breaks. Com esse argumento, podemos passar um vetor de pontos de interrupção específicos a serem usados, uma função para computar os pontos de interrupção, um número de interrupções que gostaríamos ou uma função para computar o número de células. 

Para este exemplo, passaremos o número de compartimentos que você deseja. Esse número é específico do contexto, com base no que você está tentando mostrar no gráfico.

hist(home_data$price, breaks = 100)

Um histograma de base R com a largura do compartimento alteradaHistograma de preços de imóveis residenciais com a largura do compartimento alterada. Imagem do autor.

Com o breaks definido como 100, temos muito mais visibilidade da distribuição nos primeiros intervalos. 

Também podemos especificar o número de quebras usando os nomes dos cálculos comuns para calcular as quebras ideais em um histograma. Por padrão, o site hist() usa o método “Sturges”. Aqui, especificamos o método explicitamente.

hist(home_data$price, breaks = "Sturges")

Um histograma de Histograma de preços de imóveis residenciais usando o método de Sturges. Imagem do autor.

Você também pode passar “Scott” como um argumento para o atributo breaks para usar o método Scott. 

hist(home_data$price, breaks = "Scott")

Um histograma de
Histograma de preços de imóveis residenciais usando o método Scott. Imagem do autor.

Por fim, também podemos usar o método Freedman-Diaconis (FD). 

hist(home_data$price, breaks = "Freedman-Diaconis")

Um histograma de Histograma de preços de imóveis residenciais usando o método Freedman-Diaconis. Imagem do autor.

Definição dos limites do eixo

Podemos definir os limites do eixo x do nosso gráfico usando o argumento xlim para ampliar os dados nos quais estamos interessados. Por exemplo, às vezes é útil focar na parte central da distribuição, em vez de na cauda longa que vemos atualmente quando visualizamos o gráfico inteiro. 

Também é possível alterar os limites do eixo y (usando o argumento ylim ), mas isso é menos útil para histogramas, pois os valores calculados automaticamente são quase sempre ideais.

Vamos nos concentrar nos preços entre US$ 0 e US$ 2 milhões.

hist(home_data$price, breaks = 100, xlim = c(0, 2000000))

image3.pngHistograma de preços de imóveis residenciais com os limites dos eixos alterados. Imagem do autor.

Próximas etapas na visualização de histogramas

À medida que você se sentir mais à vontade com o R, poderá explorar pacotes mais avançados que facilitam a criação de visualizações mais interessantes e úteis. Uma biblioteca muito popular e fácil de usar para plotagem no R é chamada ggplot2. Abaixo, criamos uma visão interessante das distribuições de preços com base no número de quartos da casa.  


image7.pngHistograma de preços de imóveis residenciais usando ggplot2. Imagem do autor.

ggplot2 é a melhor maneira de visualizar dados no R, e você pode aprender a usá-lo para criar histogramas no tutorial How to make a histogram in R in ggplot2. Confira nosso curso Introdução ao ggplot2 e nosso curso Intermediário de ggplot2 para saber como fazer visualizações mais interessantes no R. 

Considerações finais

Neste tutorial, aprendemos que os histogramas são ótimas visualizações para examinar as distribuições de variáveis contínuas. Aprendemos a criar um histograma no R, a plotar estatísticas resumidas sobre o histograma, a personalizar os recursos do gráfico, como os títulos dos eixos, a cor, a forma como classificamos o eixo x e a definir limites nos eixos. Por fim, demonstramos alguns dos recursos da biblioteca ggplot2.

Para mais leituras e recursos do DataCamp, confira nossos cursos interativos: 

Seu caminho para dominar o R

Comece do zero e desenvolva as principais habilidades em R para a ciência de dados.
Comece a Aprender De Graça
Temas

Aprenda R com o DataCamp

Certificação disponível

Course

Introdução ao R

4 hr
2.7M
Domine os conceitos básicos de análise de dados em R, incluindo vetores, listas e quadros de dados, e pratique o R com conjuntos de dados reais.
See DetailsRight Arrow
Start Course
Ver maisRight Arrow
Relacionado

tutorial

Como fazer um histograma ggplot2 no R

Aprenda a criar um histograma ggplot2 no R. Crie histogramas no R com base na gramática dos gráficos.

Kevin Babitz

15 min

tutorial

Criação de uma lista no R

Pratique Listas em R usando o material do curso Intro to R do DataCamp.
Ryan Sheehy's photo

Ryan Sheehy

3 min

tutorial

Histogramas no Matplotlib

Aprenda sobre histogramas e como você pode usá-los para obter insights dos dados com a ajuda do matplotlib.
Aditya Sharma's photo

Aditya Sharma

8 min

tutorial

Tutorial de Pipes em R para iniciantes

Saiba mais sobre o famoso operador de pipe %>% e outros pipes no R, por que e como você deve usá-los e quais alternativas você pode considerar!
Karlijn Willems's photo

Karlijn Willems

25 min

tutorial

Tutorial de regressão linear no R

Neste tutorial, você aprenderá os fundamentos de um modelo estatístico muito popular: a regressão linear.

Eladio Montero Porras

15 min

tutorial

Pacotes R: Um tutorial para iniciantes

Uma introdução aos pacotes do R com base em 11 das perguntas mais frequentes dos usuários.
DataCamp Team's photo

DataCamp Team

23 min

See MoreSee More