Como traçar uma distribuição log normal em r


Para traçar a função de densidade de probabilidade para uma distribuição log-normal em R, podemos usar as seguintes funções:

  • dlnorm(x, meanlog = 0, sdlog = 1) para criar a função de densidade de probabilidade.
  • curve(function, from = NULL, to = NULL) para traçar a função de densidade de probabilidade.

Por exemplo, o código a seguir ilustra como traçar uma função de densidade de probabilidade para uma distribuição lognormal com média = 0 e desvio padrão = 1 (em uma escala logarítmica) onde o eixo x do gráfico vai de 0 a 10:

 curve(dlnorm(x, meanlog=0, sdlog=1), from=0, to=10)

Trace um gráfico de distribuição normal em R

Por padrão, meanlog = 0 e sdlog =1, o que significa que podemos produzir exatamente o mesmo gráfico sem especificar estes parâmetros na função dlnorm() :

 curve(dlnorm(x), from=0, to=10)

Podemos adicionar um título, alterar o rótulo do eixo Y, aumentar a largura da linha e até mesmo alterar a cor da linha para tornar o gráfico mais esteticamente agradável:

 curve(dlnorm(x), from=0, to=10, 
    main = 'Log Normal Distribution', #add title
    ylab = 'Density', #change y-axis label
    lwd = 2, #increase line width to 2
    col = 'steelblue') #change line color to steelblue 

Log gráfico de distribuição normal com título em R

Também podemos adicionar múltiplas curvas ao gráfico para comparar distribuições lognormais com diferentes desvios padrão. Por exemplo, o código a seguir cria gráficos de distribuição normal com sdlog = 0,3, sdlog = 0,5 e sdlog = 1:

 curve(dlnorm(x, meanlog=0, sdlog=.3), from=0, to=10, col='blue')
curve(dlnorm(x, meanlog=0, sdlog=.5), from=0, to=10, col='red', add=TRUE)
curve(dlnorm(x, meanlog=0, sdlog=1), from=0, to=10, col='purple', add=TRUE)

Podemos adicionar uma legenda ao gráfico usando a função legend() , que assume a seguinte sintaxe:

legenda(x, y=NULL, legenda, preenchimento, col, bg, lty, cex)

Ouro:

  • x, y: as coordenadas xey usadas para posicionar a legenda
  • legenda: o texto a ser colocado na legenda
  • fill: preenche a cor dentro da legenda
  • col: a lista de cores a serem usadas nas linhas dentro da legenda
  • bg: a cor de fundo da legenda
  • lty: estilo de linha
  • cex: tamanho do texto na legenda

Em nosso exemplo usaremos a seguinte sintaxe para criar uma legenda:

 #create density plots
curve(dlnorm(x, meanlog=0, sdlog=.3), from=0, to=10, col='blue')
curve(dlnorm(x, meanlog=0, sdlog=.5), from=0, to=10, col='red', add=TRUE)
curve(dlnorm(x, meanlog=0, sdlog=1), from=0, to=10, col='purple', add=TRUE)

#add legend
legend(6, 1.2, legend=c("sdlog=.3", "sdlog=.5", "sdlog=1"),
       col=c("blue", "red", "purple"), lty=1, cex=1.2) 

Múltiplas funções de densidade logarítmica normal em um gráfico em R

Add a Comment

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