Articles

R Histogramas

Posted on

Neste artigo, aprenderá a usar a função hist() para criar histogramas na programação R com a ajuda de numerosos exemplos.

Histograma pode ser criado usando a função hist() em linguagem de programação R. Esta função inclui um vector de valores para o qual o histograma é plotado.

Deixe-nos usar o conjunto de dados incorporado airquality que tem medições diárias da qualidade do ar em Nova Iorque, de Maio a Setembro de 1973.-R documentação.

> str(airquality)'data.frame':153 obs. of 6 variables:$ Ozone : int 41 36 12 18 NA 28 23 19 8 NA ...$ Solar.R: int 190 118 149 313 NA NA 299 99 19 194 ...$ Wind : num 7.4 8 12.6 11.5 14.3 14.9 8.6 13.8 20.1 8.6 ...$ Temp : int 67 72 74 62 56 66 65 59 61 69 ...$ Month : int 5 5 5 5 5 5 5 5 5 5 ...$ Day : int 1 2 3 4 5 6 7 8 9 10 ...

Utilizaremos o parâmetro de temperatura que tem 154 observações em grau Fahrenheit.

Exemplo 1: Histograma simples

Temperature <- airquality$Temphist(Temperature)

Histograma simples em programação R

Vemos acima que existem 9 células com quebras igualmente espaçadas. Neste caso, a altura de uma célula é igual ao número de observações que caem nessa célula.

Podemos passar em parâmetros adicionais para controlar o aspecto da nossa parcela. Pode ler sobre eles na secção de ajuda ?hist.

algumas das frequentemente utilizadas são, main para dar o título, xlab e ylab para fornecer etiquetas para os eixos, xlim e ylim para fornecer a gama dos eixos, col para definir a cor, etc.

Adicionalmente, com o argumento freq=FALSE podemos obter a distribuição de probabilidade em vez da frequência.

Exemplo 2: Histograma com parâmetros adicionados

# histogram with added parametershist(Temperature,main="Maximum daily temperature at La Guardia Airport",xlab="Temperature in degrees Fahrenheit",xlim=c(50,100),col="darkmagenta",freq=FALSE)

Criar Histograma em R com parâmetros tais como cor.

Nota que o eixo y é rotulado densidade em vez de frequência. Neste caso, a área total do histograma é igual a 1.

Valor de retorno de hist()

A função hist() retorna uma lista com 6 componentes.

> h <- hist(Temperature)> h$breaks 55 60 65 70 75 80 85 90 95 100$counts 8 10 15 19 33 34 20 12 2$density 0.010457516 0.013071895 0.019607843 0.024836601 0.043137255 0.044444444 0.026143791 0.015686275 0.002614379$mids 57.5 62.5 67.5 72.5 77.5 82.5 87.5 92.5 97.5$xname "Temperature"$equidist TRUEattr(,"class") "histogram"

Vemos que um objecto da classe histogram é devolvido, o que tem:

  • breaks– lugares onde as quebras ocorrem,
  • counts– o número de observações que caem nessa célula,
  • density– a densidade de células, mids os pontos médios das células,
  • xname o x nome do argumento e
  • equidist um valor lógico indicando se as quebras são igualmente espaçadas ou não.

Podemos usar estes valores para processamento posterior.

Por exemplo, no exemplo seguinte, usamos os valores de retorno para colocar as contagens no topo de cada célula usando a função text().

Exemplo 3: Usar valores de retorno de Histograma para etiquetas usando texto()

h <- hist(Temperature,ylim=c(0,40))text(h$mids,h$counts,labels=h$counts, adj=c(0.5, -0.5))

Histograma com valor de retorno de texto

Definindo o Número de Quebras

Com o argumento breaks podemos especificar o número de células que queremos no histograma. No entanto, este número é apenas uma sugestão.

R calcula o melhor número de células, tendo em mente esta sugestão. Seguem-se dois histogramas sobre os mesmos dados com um número de células diferente.

Exemplo 4: Histograma com diferentes quebras

hist(Temperature, breaks=4, main="With breaks=4")hist(Temperature, breaks=20, main="With breaks=20")

R Histograma com Quebra

Na figura acima vemos que o número real de células plotadas é maior do que o que tínhamos especificado.

p> Também podemos definir pontos de quebra entre as células como um vector. Isto torna possível traçar um histograma com intervalos desiguais. Neste caso, a área da célula é proporcional ao número de observações que caem dentro dessa célula.

Exemplo 5: Histograma com largura não uniforme

hist(Temperature,main="Maximum daily temperature at La Guardia Airport",xlab="Temperature in degrees Fahrenheit",xlim=c(50,100),col="chocolate",border="brown",breaks=c(55,60,70,75,80,100))

Histograma com larguras diferentes

Deixe uma resposta

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