[R-br] Estatística circular - gráfico
Éder Comunello
comunello.eder em gmail.com
Quinta Junho 9 11:53:36 BRT 2016
Cassiano, olá novamente!
Atualizei o código, pois percebi que havia um erro na atribuição dos labels
(meses) que estavam "counter-clock".
[image: Imagem inline 1]
### <code r>
library(circular)
nascente <- read.table(text=
"AMBIENTE mes angle DISTANCIA ABUND RIQUEZA
NASC 1 0 0 2 2
NASC 2 30 0 3 1
NASC 3 60 0 4 3
NASC 4 90 0 8 5
NASC 5 120 0 0 0
NASC 6 150 0 0 0
NASC 7 180 0 31 1
NASC 8 210 0 10 3
NASC 9 240 0 18 3
NASC 10 270 0 7 5
NASC 11 300 0 2 2
NASC 12 330 0 1 1", head=T)
nascente$meses <-
c("Mai","Jun","Jul","Ago","Set","Out","Nov","Dez","Jan","Fev","Mar","Abr")
nascente
#convertendo os dados para circular, usando radianos
nasc.c0 <- circular(rep(rad(nascente$angle),nascente$ABUND),
units=c("radians"), rota="clock")
nasc.c0
plot(nasc.c0, stack=T)
deg(nasc.c0)
# Angulo médio + Desvio padrão angular
media <- mean(nasc.c0)
dp <- sd(nasc.c0)
n <- length(nasc.c0)
err <- dp/sqrt(n)
len <- rho.circular(nasc.c0)
cbind(media, dp, n, err, len)
sd(nasc.c0); sqrt(-2*log(rho.circular(nasc.c0)))
# Gráfico
# par(mfrow=c(1,3))
# par(mar=c(0,0,2,0))
plot(nasc.c0,axes=F, main=NA, stack=F, col=3)
axis.circular(at=circular(rad(nascente$angle), rota="clock"),
labels=nascente$meses, units=c("radians"), col=4)
rose.diag(nasc.c0, add=T, axes=F, col=8, bor=8, lwd=3)
#
arrows.circular(median(nasc.c0),y=rho.circular(nasc.c0),lwd=3,lty=1,angle=30,len=0.1,col="green")
#aqui eu inseri a mediana
arrows.circular(mean(nasc.c0),y=len, lwd=2, lty=1, angle=90, len=0.1,
col=2)
arrows.circular(media+err, y=1, lwd=1, lty=3, angle=0, len=0.1,
col=2)
arrows.circular(media-err, y=1, lwd=1, lty=3, angle=0, len=0.1,
col=2)
nascente
### </code>
================================================
Éder Comunello
Researcher at Brazilian Agricultural Research Corporation (Embrapa)
DSc in Agricultural Systems Engineering (USP/Esalq)
MSc in Environ. Sciences (UEM), Agronomist (UEM)
---
Embrapa Agropecuária Oeste, Dourados, MS, Brazil |<O>|
================================================
GEO, -22.2752, -54.8182, 408m
UTC-04:00 / DST: UTC-03:00
Em 9 de junho de 2016 08:41, Éder Comunello <comunello.eder em gmail.com>
escreveu:
> Cassiano, bom dia!
>
> Imagino que o que você esteja tentando adicionar ao gráfico é uma linha da
> média + erro tal qual essa que aparece no gráfico abaixo:
>
>
> Infelizmente, não encontrei como reproduzir esse efeito no R. O melhor que
> consegui foi marcar os limites com novas linhas.
> [image: Imagem inline 1]
>
>
> ### <code r>
> library(circular)
> nascente <- read.table(text=
> "AMBIENTE mes angle DISTANCIA ABUND RIQUEZA
> NASC 1 0 0 2 2
> NASC 2 30 0 3 1
> NASC 3 60 0 4 3
> NASC 4 90 0 8 5
> NASC 5 120 0 0 0
> NASC 6 150 0 0 0
> NASC 7 180 0 31 1
> NASC 8 210 0 10 3
> NASC 9 240 0 18 3
> NASC 10 270 0 7 5
> NASC 11 300 0 2 2
> NASC 12 330 0 1 1", head=T)
>
> nascente
> nascente0=nascente[which(nascente$DISTANCIA==0),]; nascente0
> meses <-
> c("Mai","Jun","Jul","Ago","Set","Out","Nov","Dez","Jan","Fev","Mar","Abr")
>
> #convertendo os dados para circular, usando radianos
> nasc.c0 <- circular(rep(rad(nascente0$angle),nascente0$ABUND),
> units=c("radians"), rota="clock")
> nasc.c0
> plot(nasc.c0, stack=T)
>
> # Angulo médio + Desvio padrão angular
> media <- mean(nasc.c0)
> dp <- sd(nasc.c0)
> n <- length(nasc.c0)
> err <- dp/sqrt(n)
> len <- rho.circular(nasc.c0)
> cbind(media, dp, n, err, len)
>
> sd(nasc.c0); sqrt(-2*log(rho.circular(nasc.c0)))
>
> # Gráfico
> # par(mfrow=c(1,3))
> # par(mar=c(0,0,2,0))
> plot(nasc.c0,axes=F,main=NA)
> axis.circular(at=circular(rad(nascente0$angle)), labels=meses,
> units=c("radians"), rota="clock")
> rose.diag(nasc.c0, add=T, axes=F, col=8, bor=8, lwd=3)
> #
> arrows.circular(median(nasc.c0),y=rho.circular(nasc.c0),lwd=3,lty=1,angle=30,len=0.1,col="green")
> #aqui eu inseri a mediana
> arrows.circular(mean(nasc.c0),y=len, lwd=2, lty=1, angle=90, len=0.1,
> col=2)
> arrows.circular(media+err, y=1, lwd=1, lty=3, angle=0, len=0.1,
> col=2)
> arrows.circular(media-err, y=1, lwd=1, lty=3, angle=0, len=0.1,
> col=2)
> ### </code>
>
>
>
> ================================================
> Éder Comunello
> Researcher at Brazilian Agricultural Research Corporation (Embrapa)
> DSc in Agricultural Systems Engineering (USP/Esalq)
> MSc in Environ. Sciences (UEM), Agronomist (UEM)
> ---
> Embrapa Agropecuária Oeste, Dourados, MS, Brazil |<O>|
> ================================================
> GEO, -22.2752, -54.8182, 408m
> UTC-04:00 / DST: UTC-03:00
>
>
>
>
>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20160609/535dd52f/attachment-0001.html>
-------------- Próxima Parte ----------
Um anexo não-texto foi limpo...
Nome: image.png
Tipo: image/png
Tamanho: 30571 bytes
Descrição: não disponível
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20160609/535dd52f/attachment-0002.png>
-------------- Próxima Parte ----------
Um anexo não-texto foi limpo...
Nome: image.png
Tipo: image/png
Tamanho: 30897 bytes
Descrição: não disponível
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20160609/535dd52f/attachment-0003.png>
Mais detalhes sobre a lista de discussão R-br