Programa R para Biologia da Conservação
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Boxplot com média e desvio padrão sobrepostos

3 participantes

Ir para baixo

Boxplot com média e desvio padrão sobrepostos Empty Boxplot com média e desvio padrão sobrepostos

Mensagem por Joana Órfão Qua Jun 03, 2020 12:37 am

Oi gente!
Não sei se interessa, mas acrescentei setas no boxplot para sobreposicionar o desvio padrão em cima do gráfico. Assim, conseguimos ver mediana, quartis, média e desvio apenas num gráfico! Espero que ajude.
Segue o código, baseado nos dados da Atividade Proposta do Módulo 2:


#boxplot da Riqueza em função da Área:

 #y~x, sendo a leitura: y em resposta a x, ou y em função de x, ou em y variando com x; gravar como objecto permite depois acrescentar informação em cima (ex: setas do desvio padrão)
 bxp <- boxplot(dados$Riqueza~dados$Area, xlab = "Riqueza (nº de espécies)", ylab = "Frequência", las=1)

 box() #encaixilhar
 
#acrescentando um ponto representativo da média:
 
 medias <- tapply(dados$Riqueza, dados$Area, mean) #vector com dados das médias
 dps <- tapply(dados$Riqueza, dados$Area, sd) #vector com dados dos desvios padrão
 
 points(medias, pch=16, col="red", cex=2) #acrescenta um ponto c/ média para cada espécie
 #pch determina tipo de símbolo
 #col determina cor
 #cex determina tamanho relativo do símbolo
 
#acrescentando setas representando os desvios-padrão:

 xi <- seq(bxp$n) #vector que define o inicio e fim do eixo x; necessário para usar a função arrows()

 arrows(xi, medias-dps, xi, medias+dps, col="blue", angle=90, code=3) #acrescenta setas representando o desvio padrão
 #xi é o vector que representa o eixo perpendicular à seta
 #medias-dps e medias+dps define o comprimento da seta para cima e para baixo
 #code determina o tipo de seta
 #angle determina o ang


Resultado:


Boxplot com média e desvio padrão sobrepostos Rplot210



PS: seq() busquei do help do boxplot e não sei exactamente interpretar, pode ser que o Professor Marcos ajude Embarassed. É uma maneira de dar a volta ao facto do eixo x não ter números, usando uma sequência. Se reparerem, ao criar o objecto bxp, aparece no RStudio: "list of 6" (no Global Environment), ou seja, lista de 6 valores. Abrindo esse objecto, aparece uma lista de características, entre elas, "n". O tipo dessa característica é "double [3]". Assim, a expressão "seq(bxp$n)" cria uma sequência a partir do número de "n" do objecto "bxp". Sendo "n" "double [3]", então a sequência fica: 1, 2, 3. Isso corresponde aos 3 boxplots. Fazendo a esta sequência corresponder um objecto, esse objecto vai definir o eixo x do boxplot.


Boxplot com média e desvio padrão sobrepostos R110


Código de confirmação disso no R:
> seq(bxp$n)
[1] 1 2 3
Joana Órfão
Joana Órfão

Mensagens : 1
Data de inscrição : 10/04/2020
Localização : Portugal

http://www.instagram.com/phdwithjo

Ir para o topo Ir para baixo

Boxplot com média e desvio padrão sobrepostos Empty Re: Boxplot com média e desvio padrão sobrepostos

Mensagem por Prof. Marcos Sex Jun 05, 2020 8:55 am

Oi, Joana!

Sua solução ficou excelente, parabéns!

Se quiser se aprofundar mais nessas possibilidades de se incrementar um boxplot, recomendo dar uma olhada na função jitter() e como ela pode ser usada para sobrepor o boxplot com os dados brutos. Fica bem legal, veja este exemplo:
https://www.r-graph-gallery.com/96-boxplot-with-jitter.html

Uma opção que vai ainda além são os "pirate plots", veja aqui:
https://bookdown.org/ndphillips/YaRrr/pirateplot.html

Sobre a função seq(), ela é usada para se criar vários tipos de sequências no R, como uma simples sequência de números.
Por exemplo: seq(0, 100, 5) cria uma sequência de 0 a 100, de 5 em 5.
No seu exemplo, ela é usada apenas para se definir quantos itens estarão presentes no eixo x do boxplot. Parece mais complicado do que é de verdade.
Prof. Marcos
Prof. Marcos

Mensagens : 678
Data de inscrição : 23/12/2015
Idade : 42
Localização : Maceió, AL

https://cantinhodor.wordpress.com/

Ir para o topo Ir para baixo

Boxplot com média e desvio padrão sobrepostos Empty Re: Boxplot com média e desvio padrão sobrepostos

Mensagem por Valeria Andrade Seg Jun 15, 2020 9:10 am

Bem bacana!!! Obrigada!!

Valeria Andrade

Mensagens : 94
Data de inscrição : 12/03/2018

Ir para o topo Ir para baixo

Boxplot com média e desvio padrão sobrepostos Empty Re: Boxplot com média e desvio padrão sobrepostos

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos