//Distribuições com R

Distribuições com R

27/10/2021 Categoria : [R]

Packges

Para fazer os gráficos no R será nescessario os Package’s dlpyr, ggplot2 e ploty.O dplyr serve para manipulação de dados e o ggplot e o plotly servem para fazer graficos.

Criando o Gráfico

Para criar o Gráfico é nescessario usar o ggplot com o comando stat_function com o a função fun

Normal <- ggplot(  ) + # Para criar uma Figura
#usando o fun com o function para criar a normal 
  stat_function( fun = function (x)dnorm(x,0,1), 
#geom para deixar o gráfico todo preenchido
  geom="area" ,
#xlim  Para definir meu eixo X 
  xlim = c(-3,3),
# Colocando transparencia e cores 
#alpha é a transparencia
  alpha = .5, 
# fill é o a linha de fora  
 fill = "blue" ,
# é a cor de dentro do grafico
col = "blue") + 
# colocando Títulos   
  ylab("f(x)") + 
  xlab("X") + 
  ggtitle("Distribuição Normal") + 
# deixando o grafico mais bonito =)  
  theme_minimal() 
  
Normal

Adicionando Outra Distribição

Caso você queira colocar mais de uma distribuição no gráfico é possivel ,para isso usaremos esses códigos:

Normais <- 
# Utilizaremos o grafico anterior e adicionaremos outro
    Normal + 
  stat_function( 
# usando outro fun com o function para criar a normal     
  fun = function (x)dnorm(x,-3,1.2), 
  geom="area" , 
  xlim = c(-3,3), 
  alpha = .5, 
  fill = "red" , 
  col = "red") +  
  ylab("f(x)") + 
  xlab("X") + 
  ggtitle("Distribuições Normais") + 
  theme_minimal()

# para ver os graficos
Normais

Deixando mais bonito , adionando marcador e texto.

Usando o comando ggplotly() para deixar o gráfico mais bonito ,pois assim ele fica interativo e sem pixels visiveis ,além disso vamos adicionar um texto para indetificar as distribuições. Para colocar uma marcador usaremos o comando add_markers, lembrando que é um comando do plotly e utilizaremos o add_annotations() para escrever um texto no grafico.

ggplotly(Normais) %>% 
# Adicionando um Marcador 
 add_markers(
    x = 1.5,
    y = 0.37, 
    marker = list(
# Colocando cor e tamanho 
    color = 'rgba(0, 0, 255,0.5)',
    size = 10))  %>% 
    add_annotations(
 # Posicionando o texto      
      x=1.6,  y=0.37,  
      xref = "x",  
      yref = "y", 
#Colocando um texto 
text = "Média = 0 e Desvio-Padrão = 1", 
# colocando alinhamento a esquerda
 xanchor = 'left',
# tirando a seta 
 showarrow = F , 
 font = list(
#cor do texto
 color = 'rgba(0, 0, 255,0.5)', 
#fonte do texto
 family = 'calibri light', 
#tamanho da fonte
  size = 14)  ) %>%  
 add_markers(
   x = 1.5,y = 0.35, 
   marker = list(
     color = 'rgba(255, 0, 0,0.5)',
     size = 10)) %>% 
   add_annotations( 
    x=1.6,  y=0.35,  
    xref = "x", 
    yref = "y",
    text = "Média = 0 e Desvio-Padrão = 1", 
    xanchor = 'left',  
    showarrow = F ,
    font = list(
    color = 'rgba(255, 0, 0,0.5)',
    family = 'calibri light', 
    size = 14))

Distribuições Normais

Com isso é possivel fazer varios graficos bonitos e legais =) .

normal <- 
  ggplot( ) + 
    stat_function( 
      fun = dnorm ,
      geom="area" , xlim = c(-5,7), 
       alpha = .5, fill = "blue" , col = "blue") +      
       stat_function(
       fun = function(x) dnorm(x,2,2) ,
       geom="area" , xlim = c(-5,7), 
        alpha = .5, 
       fill = "orange",col = "orange" ) + 
       ylab("f(x)") + xlab("X") +
       ggtitle( label ="Gráfico das Distribuições Normais  " ) + 
      stat_function(
      fun = function(x) dnorm(x,-3,1.5) ,
   geom="area" , xlim = c(-5,8),   
   alpha = .5, fill = "red" ,
   col = "red") + 
stat_function(
fun = function(x) dnorm(x,4,3) ,
geom="area" , xlim = c(-5,8), alpha = .5, 
fill = "green" ,
col = "green") +
theme_minimal()
ggplotly(normal ) %>%
  add_markers(
      x = 4.5,y = 0.37, 
      showlegend = F , 
      marker = list(
      color = 'rgba(0, 0, 255,0.5)',
      size = 10)) %>% 
      add_annotations(  
      x=4.7,  y=0.37,  
      xref = "x",yref = "y",
      text = "Média = 0 e Desvio-Padrão = 1",
      xanchor = 'left',  
      showarrow = F ,
      font = list(color = 'rgba(0, 0, 255,0.5)',
      family = 'calibri light', size = 14)  )  %>% 
  
  add_markers(x = 4.5,y = 0.35,
      showlegend = F ,
      marker = list(
      color = 'rgba(255, 0, 0,0.7)',
      size = 10)) %>% 
      add_annotations( 
      x=4.7,  y=0.35,  
      xref = "x",yref = "y",
      text = "Média =-3 e Desvio-Padrão = 1,5",
      xanchor = 'left',  
      showarrow = F , 
      font = list(color = 'rgba(255, 0, 0,0.5)',
      family = 'calibri light', size = 14)  ) %>% 

   add_markers(x = 4.5,y = 0.33, 
      showlegend = F , 
      marker = list(
      color = 'rgb(255, 125, 35,0.5)', size = 10)) %>% 
   add_annotations(  
     x=4.7,  y=0.33,  
     xref = "x",yref = "y", 
     text = "Média = 2 e Desvio-Padrão = 2",  
     xanchor = 'left', 
     showarrow = F ,   
     font = list(color = 'rgb(255, 125, 35,0.5)',
     family = 'calibri light', size = 14)) %>% 
    add_markers(
      x = 4.5,y = 0.31, 
      showlegend = F ,
      marker = list(
      color = 'rgb(0, 255, 0,0.5)', size = 10)) %>% 
    add_annotations(  
      x=4.7,  y=0.31,  
      xref = "x",yref = "y", 
      text = "Média = 4 e Desvio-Padrão = 3",  
      xanchor = 'left',  
      showarrow = F ,   
      font = list(color = 'rgb(0, 255, 0,0.5)',
      family = 'calibri light', size = 14)) 

Repositório no Github

Caso queria baixar e os codigos:

Github

01.Sobre mim:

Thalis Rebouças

Graduando em Estatística.

Caso queira :

02.Outras Postagens

04. Categorias

Alguma dúvida ?

© Thalis Rebouças 2023 / Todos os direitos reservados.
Site feito em Hugo com Blogdown.
Contactar