options(warn=-1)
suppressMessages(library(knitr, warn.conflicts=FALSE))
suppressMessages(library(readxl, warn.conflicts=FALSE))
suppressMessages(library(DescTools, warn.conflicts=FALSE))
suppressMessages(library(ggplot2, warn.conflicts=FALSE))
suppressMessages(library(png, warn.conflicts=FALSE))
suppressMessages(library(grid, warn.conflicts=FALSE))
suppressMessages(library(EnvStats, warn.conflicts=FALSE))
suppressMessages(library(aplpack, warn.conflicts=FALSE))
suppressMessages(library(diptest, warn.conflicts=FALSE))
# source("eiras.friendlycolor.R")
# source("eiras.numeric.summary.R")
# source("demo_numericsummary.R")
# source("demo_gamma.R")
# source("demo_beta.R")
# source("demo_beta&normal.R")
# source("demo_t&normal.R")
# source("BiometriaNormal.R")
# source("AproximacaoNormal.R")
# source("hemoglobina.R")
# source("hemoglobina_padrao.R")
# source("hemoglobina_centrada.R")
# source("massacerebro.R")
# source("massacerebro_padrao.R")
# source("massacerebro_tukeytry.R")
# source("eiras.create.population.R")
# source("eiras.plot.density.withmeansd.R")
# source("eiras.sampling.R")
# source("glicemia_normal.R")
# source("glicemia_intervalos.R")
# source("glicemia_hdi.R")
# source("demo_pie.R")
# source("demo_barra.R")
# source("demo_lowhigh.R")
# source("demo_dotplot.R")
# source("demo_dotplot2.R")
# source("demo_histograma.R")
# source("demo_histograma2.R")
# source("demo_scatterplot.R")
# source("demo_scatterplot2.R")
# source("demo_bagplot.R")
# source("demo_density.R")
# source("demo_density2.R")
# source("demo_dotplot3.R")
# source("demo_mediaIC95.R")
# source("demo_mediaIC95_2.R")
# source("demo_boxplot2.R")
# source("demo_Likert.R")
RPubs
Em um estudo foi verificado o nĆŗmero de drogas utilizadas por grĆ”vidas, incluindo medicamentos, Ć”lcool, fumo e drogas ilĆcitas. Os dados hipotĆ©ticos estĆ£o em um arquivo no formato Excel:
Drogas Pacientes
1 0 1425
2 1 1351
3 2 793
4 3 348
5 4 156
6 5 58
7 6 28
8 7 15
9 8 6
10 9 3
11 10 1
12 11 0
13 12 1
O arquivo lido tem duas colunas:
Drogas
, contendo o nĆŗmero de drogas utilizadas ePacientes
, com o nĆŗmero de pacientes que utilizou este
nĆŗmero de drogas.Um grĆ”fico da distribuição do nĆŗmero de pacientes deve trazer o nĆŗmero de drogas no eixo das abscissas (x) e o nĆŗmero de pacientes no eixo das ordenadas (y). O comando mais simples possĆvel Ć©:
obtendo-se:
Funciona, foi rƔpido, mas Ʃ muito mal acabado.
Usando, na Console: > ? plot acessarĆ” a documentação da função plot no RStudio. Note que, em algum ponto do texto, aparece Usage Sempre que encontrar āā¦ā, significa que a função pode receber muitos parĆ¢metros. Uma parte deles pode estar descrita na função, mas outros sĆ£o partilhados entre vĆ”rias funƧƵes de grĆ”fico, e só as encontrarĆ” atravĆ©s dos links disponĆveis. Para facilitar, sugerimos alguns destes parĆ¢metros. |
Uma das vantagens de se utilizar comandos para gerar grƔficos Ʃ a
flexibilidade. O usuÔrio não fica limitado a uma interface grÔfica
usando somente os recursos considerados necessƔrios por quem a
desenvolveu. No caso do plot
, sugiro aqui alguns
parâmetros. HÔ muitos outros, caso queira explorar:
HÔ muitos outros, e nem todos podem funcionar ao mesmo tempo, pois hÔ dependências mútuas. Além de consultar > ?plot veja também > ?lines > ?points para encontrar outros e experimentar com eles. |
Os nomes das variÔveis passadas para a função plot
(DrgGrv$Drogas
, DrgGrv$Pacientes
) são usados
como nomes dos eixos para construir o grƔfico. Isto pode ser resolvido
no R com os parâmetros xlab
e ylab
:
plot(DrgGrv$Drogas,DrgGrv$Pacientes,
main="Uso de Drogas na Gravidez",
xlab="NĆŗmero de Drogas",
ylab="Gestantes",
ylim=c(0,1500), lwd=3, col="#994F88")
Gostaria de ligar os pontos? Use a função lines()
:
plot(DrgGrv$Drogas,DrgGrv$Pacientes,
main="Uso de Drogas na Gravidez",
xlab="NĆŗmero de Drogas",
ylab="Gestantes",
ylim=c(0,1500), lwd=3, col="#994F88")
lines (DrgGrv$Drogas, DrgGrv$Pacientes, lwd=3, col="#994F88")
No entanto, isto não é o mais correto a fazer, pois trata-se de
variƔvel quantitativa discreta. Para fazer com linhas verticais, como se
fosse um grƔfico de barras com uma variƔvel quantitativa no eixo x, use
type
:
plot(DrgGrv$Drogas,DrgGrv$Pacientes,
main="Uso de Drogas na Gravidez",
xlab="NĆŗmero de Drogas", ylab="Gestantes",
ylim=c(0,1500), lwd=3, col="#994F88",
type = "h")
O mesmo grƔfico, em porcentagem
Muitas vezes podemos precisar criar novas variƔveis em um data frame. Por exemplo, podemos criar uma coluna com a porcentagem de pacientes, arredondada para duas casas decimais:
Agora, para obter o mesmo grÔfico, é só ajustar o comando, alterando
ylab
e ylim
de acordo. Podemos, tambƩm,
adicionar os sĆmbolos no topo das barras, usando a função
points()
:
plot(DrgGrv$Drogas,DrgGrv$FrequenciaRelativa,
main="Uso de Drogas na Gravidez",
xlab="NĆŗmero de Drogas", ylab="Porcentagem de Gestantes",
ylim=c(0,40), lwd=3, col="#994F88", type = "h")
points(DrgGrv$Drogas,DrgGrv$FrequenciaRelativa, col="#994F88", bg="#994F88", pch=21)
Esta Ô a distribuição de probabilidades desta amostra, cuja variÔvel é quantitativa discreta. Cada coluna representa, se eu acessar aleatoriamente uma paciente deste grupo, a probabilidade de ser alguém que utiliza nenhuma droga, uma droga, duas drogas, etc.
HÔ duas propriedades que definem uma distribuição de probabilidades:
1. Todos os valores estão entre zero e um (ou 100%)
[1] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
Alternativamente, se o arquivo Ʃ grande, pode ser mais fƔcil verificar pelo complemento: o total de valores abaixo de zero ou acima de 100%:
[1] 0
2. A soma das probabilidades tem que ser 100%
[1] 100
Uma outra forma Ćŗtil Ć© verificar as probabilidades acumuladas. Vamos criar uma nova coluna:
DrgGrv$FrequenciaAcumulada <- NA
for(r in 1:nrow(DrgGrv))
{
DrgGrv$FrequenciaAcumulada[r] <- sum(DrgGrv$FrequenciaRelativa[1:r])
}
O data frame agora contƩm:
Drogas Pacientes FrequenciaRelativa FrequenciaAcumulada
1 0 1425 34.05 34.05
2 1 1351 32.28 66.33
3 2 793 18.95 85.28
4 3 348 8.32 93.60
5 4 156 3.73 97.33
6 5 58 1.39 98.72
7 6 28 0.67 99.39
8 7 15 0.36 99.75
9 8 6 0.14 99.89
10 9 3 0.07 99.96
11 10 1 0.02 99.98
12 11 0 0.00 99.98
13 12 1 0.02 100.00
Para uma visão grÔfica da frequência relativa acumulada, temos:
plot(DrgGrv$Drogas,DrgGrv$FrequenciaAcumulada,
main="Uso de Drogas na Gravidez",
xlab="NĆŗmero de Drogas", ylab="FrequĆŖncia Relativa Acumulada",
ylim=c(0,100), lwd=3, col="#994F88", type = "s",
axes=FALSE)
axis(1, at=0:max(DrgGrv$Drogas))
axis(2)
points(DrgGrv$Drogas,DrgGrv$FrequenciaAcumulada,
col="#994F88", bg="#994F88", pch=21)
Note o uso de axes=FALSE
seguido da colocação dos eixos
x (axis(1)
) e y (axis(2)
).
Fizemos assim para que todos os nĆŗmeros de drogas, de 1 em 1,
aparecessem (usando o parâmetro at
). Este tipo de
tratamento facilita verificar, por exemplo, que a quase totalidade das
pacientes (93.6%) utilizam 3 drogas ou menos:
plot(DrgGrv$Drogas,DrgGrv$FrequenciaAcumulada,
main="Uso de Drogas na Gravidez",
xlab="NĆŗmero de Drogas", ylab="FrequĆŖncia Relativa Acumulada",
ylim=c(0,100), lwd=3, col="#994F88", type = "s",
axes=FALSE)
axis(1, at=0:max(DrgGrv$Drogas))
axis(2)
points(DrgGrv$Drogas,DrgGrv$FrequenciaAcumulada,
col="#994F88", bg="#994F88", pch=21)
abline(h=DrgGrv$FrequenciaAcumulada[DrgGrv$Drogas==3], lty=2)
abline(v=3, lty=2)
A distribuição de probabilidades que apresentamos até aqui não tem nome. Existem vÔrias outras que são utilizadas porque suas propriedades são bem conhecidas. Por exemplo:
Esta figura mostra as distribuiƧƵes mais populares. As distribuiƧƵes agrupam-se em famĆlias. Na parte superior aparecem as distribuiƧƵes discretas, sendo a de Bernoulli uma das mais fundamentais. Dela derivam a GeomĆ©trica e a Binomial, da qual se obtĆ©m a de Poisson. Na parte inferior aparecem as distribuiƧƵes contĆnuas.
Caso queira ver outras distribuiƧƵes e os relacionamentos entre elas, consulte, por exemplo, https://chenghanyu.github.io/software/rshiny_random/
As propriedades que mais interessam para entender a anatomia de uma distribuição são média (mean), variância (variance) ou desvio-padrão, assimetria (skewness) e excesso de curtose (ex. kurtosis). Nossa proposta é utilizar funções do R para verificar tais propriedades; usaremos duas alternativas.
Um jeito de testar estas funƧƵes Ʃ gerar vetores numƩricos com as
funƧƵes do R que fornecem as distribuiƧƵes conhecidas a partir dos
valores de interesse. Estas funƧƵes comeƧam com um ādā minĆŗsculo,
seguido do tipo de distribuição (e.g., dnorm()
,
dbinom()
, dpois()
, dgamma()
,
etc.), e precisam receber os parâmetros necessÔrios para caracterizar a
distribuição pedida.
Por exemplo, a distribuição normal pode ser gerada com:
Os parĆ¢metros estĆ£o explĆcitos para maior clareza (funcionaria da
mesma forma com dnorm(valores,35,12)
) e veremos adiante que
a distribuição normal é completamente caracterizada por estes dois
parâmetros: média e desvio-padrão.
Podemos conferir o que foi obtido graficamente com:
Alternativamente, podemos usar o pacote EnvStats
.
Observe que, apenas com os defaults,
EnvStats::pdfPlot()
produziu um grƔfico mais elaborado.
VÔrios dos parâmetros grÔficos podem ser utilizados para mais controle.
O nome do eixo y nĆ£o Ć© adequado. Devia ser āDensidadeā. Adiciona tĆtulo
ao grÔfico e aos eixos mas utiliza o inglês. No entanto, a documentação
desta função, disponĆvel em https://www.rdocumentation.org/packages/EnvStats/versions/2.3.1/topics/Distribution.df,
mostra que hÔ parâmetros adicionais que plot()
, de
propósito geral, necessitaria de algum esforço. Além disto,
EnvStats::pdfPlot()
traz diversas funƧƵes disponĆveis,
prƩ-configuradas, que podem ser vistas digitando-se
EnvStats::Distribuition.df$Name
na Console do
RStudio.
Veja resultados comparÔveis, com os dois códigos abaixo, e escolha o
que prefere utilizar. Com plot()
Ʃ necessƔrio computar a
distribuição e, então, gerar o grÔfico:
valor.x <- 0:70
valor.y <- dnorm(valores, mean=35, sd=12)
plot(valor.x, valor.y,
main="Distribuição normal\n(média=35, dp=12)",
xlab="Valores", ylab="Densidade",
lwd=3, type="l")
Com EnvStats::pdfPlot()
o parâmetro
distribution
resolve o tipo solicitado (foi preciso
adicionar curve.fill=FALSE
para que a Ôrea sob a curva não
fosse preenchida):
EnvStats::pdfPlot(distribution = "norm",
param.list = list(mean=35, sd=12),
main="Distribuição normal\n(média=35, dp=12)",
xlab="Valores", ylab="Densidade",
curve.fill=FALSE)
Sugerimos que tambĆ©m explore os parĆ¢metros disponĆveis, consultando a
documentação no RStudio. A hachura da Ôrea sob a curva, por exemplo,
pronta em EnvStats::pdfPlot()
, Ć© trabalhosa no
plot()
, exigindo o uso de outras funƧƵes.
Outra forma para estudar as propriedades das distribuiƧƵes Ʃ
gerar vetores numéricos com as funções do R que fornecem números
pseudoaleatórios, sorteados de acordo com as probabilidades de
distribuiƧƵes conhecidas. Estas funƧƵes comeƧam com um ārā minĆŗsculo (de
random), seguido do tipo de distribuição (e.g.,
rnorm()
, rbinom()
, rpois()
,
rgamma()
, etc.), e precisam receber o nĆŗmero de valores a
gerar e os parâmetros necessÔrios para caracterizar a distribuição
pedida.
Por exemplo, um sorteio com distribuição normal pode ser feito com:
Os parĆ¢metros estĆ£o explĆcitos para maior clareza (funcionaria da
mesma forma com rnorm(1e6,35,12)
). Note que precisamos
gerar muitos valores (neste exemplo, um milhão de valores) para que o
sorteio tenha propriedades similares Ć s previstas em teoria.
Graficamente:
densidade <- density(valores)
plot(densidade,
main="Distribuição normal",
xlab="Valores", ylab="Densidade",
lwd=3, type="l")
Podemos conferir as propriedades da distribuição obtida e confrontÔ-las com os valores esperados para saber se a simulação foi bem sucedida.
A função R para média é mean()
, que calcula a mƩdia
aritmética de um vetor numérico. Desvio-padrão é dado por
sd()
. Pode-se obter mais alguns valores com
summary()
. Outra alternativa é desenvolver uma função a seu
gosto, o que fizemos em numeric.summary()
. Além disto, após
calcular os valores de média e desvio-padrão, podemos incorporar esta
informação no tĆtulo do grĆ”fico com a função paste()
. O
código completo é:
# trazendo a funcao numeric.summary() que desenvolvemos
source("eiras.numeric.summary.R")
set.seed(3972) # para repetir este exemplo
# gera valores com distribuicao normal
valores <- rnorm(1e6, mean=35, sd=12)
# calcula media e desvio-padrao
media <- mean(valores)
desvpad <- sd(valores)
# prepara o titulo do grafico
titulo <- paste("Distribuição normal","\n",
"(mƩdia=", round(media,2),", ",
"dp=",round(desvpad,2),")",
sep="")
# exibe o grafico
densidade <- density(valores)
plot (densidade,
main=titulo,
xlab="Valores", ylab="Densidade",
lwd=3, type="l")
# exibe os valores calculados
# media e dp
cat("MƩdia simulada = ", media,"\n", sep="")
cat("Dp simulado = ", desvpad,"\n", sep="")
# sumario
cat("\nFunção do R - summary():\n")
print(summary(valores))
# funcao propria
cat("\nFunção 'eiras' - numeric.summary():\n")
print(numeric.summary(valores))
obtendo-se:
MƩdia simulada = 35.0069
Dp simulado = 12.00397
Função do R - summary():
Min. 1st Qu. Median Mean 3rd Qu. Max.
-21.08 26.92 35.01 35.01 43.10 91.18
Função 'eiras' - numeric.summary():
Min. 1st Qu. Median 3rd Qu. Max. Mean St.Dev. n NA
-21.08207 26.91716 35.01147 43.10221 91.18478 35.0069 12.00397 1e+06 0
Distribuições podem ser simétricas (como a distribuição normal), ou apresentarem assimetria: negativa (cauda mais longa à esquerda) ou positiva (cauda mais longa à direita).
Existe função R no pacote DescTools
que fornece:
Skewness (mƩtodo 3) = -0.0007088539
HĆ” alguns mĆ©todos de estimação disponĆveis, e adotaremos, aqui, o
default, mƩtodo=3
. O valor obtido,
skewness=-0.0007088539
, próximo a zero, indica que nosso
sorteio seguindo distribuição normal foi bem sucedido, obtendo uma
distribuição quase perfeitamente simétrica.
Por exemplo, esta distribuição gama tem assimetria positiva:
library(DescTools)
source("eiras.numeric.summary.R")
valgamma <- rgamma(1e6, shape=2)
densgamma <- density(valgamma)
plot (densgamma,
main="Distribuição Gama", xlab="Valores", ylab="Densidade")
print(numeric.summary(valgamma))
skewgamma <- DescTools::Skew(valgamma)
cat("\nSkewness (mƩtodo 3) = ",skewgamma,"\n", sep="")
Min. 1st Qu. Median 3rd Qu. Max. Mean St.Dev. n NA
0.0009525638 0.9620691 1.680487 2.695757 16.53169 2.002173 1.415426 1e+06 0
Skewness (mƩtodo 3) = 1.408806
E esta distribuição beta tem assimetria negativa:
library(DescTools)
source("eiras.numeric.summary.R")
valbeta <- rbeta(1e6, shape1=1, shape2=0.5)
densbeta <- density(valbeta)
plot (densbeta,
main="Distribuição Beta", xlab="Valores", ylab="Densidade")
print(numeric.summary(valbeta))
skewbeta <- DescTools::Skew(valbeta)
cat("\nSkewness (mƩtodo 3) = ",skewbeta,"\n", sep="")
Min. 1st Qu. Median 3rd Qu. Max. Mean St.Dev. n NA
2.028525e-06 0.4376071 0.7499941 0.9375091 1 0.6666065 0.2981604 1e+06 0
Skewness (mƩtodo 3) = -0.6392086
A curtose é a medida de quanto os valores estão concentrados. A distribuição normal é mesocúrtica. Valores negativos indicam distribuições platicúrticas (dados menos concentrados ao redor da tendência central) e positivos indicam distribuições leptocúrticas (dados mais concentrados ao redor da tendência central).
O pacote DescTools
também tem função para curtose. Para
o exemplo da distribuição normal, acima, que criou o vetor
valores
, obtemos:
Ex. kurtosis (mƩtodo 3) = 0.003695169
Similarmente Ć DescTools::Skew()
, o mƩtodo
default é 3 e o adotaremos sem discussão. O valor obtido,
curtose=0.0036952
, próximo a zero, indica que nosso sorteio
seguindo distribuição normal obteve uma distribuição praticamente
mesocĆŗrtica.
O seguinte código gera uma distribuição beta platicúrtica e uma normal, com mesma média e desvio padrão da beta para referência (em linha pontilhada):
source ("eiras.numeric.summary.R")
valores <- rbeta(1e6, shape1=2, shape2=2)
densidade <- density(valores)
media <- mean(valores)
desvpad <- sd(valores)
skewness <- DescTools::Skew(valores)
curtose <- DescTools::Kurt(valores)
norm.x <- seq(from = min(densidade$x), to = max(densidade$x), length.out = 500)
norm.y <- dnorm(norm.x, mean=media, sd=desvpad)
plot (densidade,
main="Distribuição platicúrtica", xlab="Valores", ylab="Densidade",
ylim=c(0,max(densidade$y,norm.y)), lwd=3)
lines(norm.x, norm.y, col="red", lty=2, lwd=2)
legend("topright",
c("Beta", "Normal"),
col=c("black", "red"),
lwd=c(3,2),
lty=c(1,2),
box.lwd=0, bg="transparent")
cat("SumƔrio:\n")
sumario <- numeric.summary(valores)
print(sumario)
cat("\n")
cat("MƩdia = ",media,"\n", sep="")
cat("Desvio-padrão = ",desvpad,"\n", sep="")
cat("Assimetria = ",skewness,"\n", sep="")
cat("Ex.curtose = ",curtose,"\n", sep="")
obtendo-se:
SumƔrio:
Min. 1st Qu. Median 3rd Qu. Max. Mean St.Dev. n
0.0004135141 0.3264107 0.4998925 0.6732455 0.9989592 0.4999819 0.223408 1e+06
NA
0
MƩdia = 0.4999819
Desvio-padrão = 0.223408
Assimetria = -0.0008163738
Ex.curtose = -0.8563834
Com procedimento similar, uma distribuição \(t\) com 5 graus de liberdade é leptocúrtica, com a seguinte anatomia:
source ("eiras.numeric.summary.R")
valores <- rt(1e6, df=5, ncp=0)
densidade <- density(valores)
media <- mean(valores)
desvpad <- sd(valores)
skewness <- DescTools::Skew(valores)
curtose <- DescTools::Kurt(valores)
norm.x <- seq(from = min(densidade$x), to = max(densidade$x), length.out = 500)
norm.y <- dnorm(norm.x, mean=media, sd=desvpad)
plot (densidade,
main="Distribuição leptocúrtica", xlab="Valores", ylab="Densidade",
xlim=c(-4,4),
ylim=c(0,max(densidade$y,norm.y)), lwd=3)
lines(norm.x, norm.y, col="red", lty=2, lwd=2)
legend("topright",
c("t(5)", "Normal"),
col=c("black", "red"),
lwd=c(3,2),
lty=c(1,2),
box.lwd=0, bg="transparent")
cat("SumƔrio:\n")
sumario <- numeric.summary(valores)
print(sumario)
cat("\n")
cat("MƩdia = ",media,"\n", sep="")
cat("Desvio-padrão = ",desvpad,"\n", sep="")
cat("Assimetria = ",skewness,"\n", sep="")
cat("Ex.curtose = ",curtose,"\n", sep="")
SumƔrio:
Min. 1st Qu. Median 3rd Qu. Max. Mean St.Dev.
-26.09016 -0.7283402 -0.0001420819 0.7260703 28.25093 -0.0009572557 1.289349
n NA
1e+06 0
MƩdia = -0.0009572557
Desvio-padrão = 1.289349
Assimetria = -0.01071764
Ex.curtose = 4.915372
Encontramos um problema com a função rt() : produz a
distribuição incorretamente quando geramos mais do que 1e6 valores.
|
Compare o valor absoluto do excesso de curtose e observe os grƔficos.
Não dão uma noção do porquê do excesso de curtose ser tão maior na
distribuição \(t\) do que na beta. As
caudas devem ser observadas usando um grƔfico semilog, usando-se o
log(Densidade)
no eixo \(y\):
Ex.curtose = -0.8563834
Ex.curtose = 4.915372
Observe que um grƔfico semilog (colocando o eixo \(y\) em logaritmo) permitiu visualizarmos
melhor as caudas. Neste tipo de grƔfico, os valores menores de \(y\) ficam mais distintos, e os maiores
menos distintos. à o mesmo código que utilizamos acima, adicionando-se o
parĆ¢metro log=āyā
na função plot()
:
plot(densidade,
main="Distribuição leptocúrtica", xlab="Valores", ylab="log(Densidade)",
xlim=c(-6,6),
ylim=c(1e-4,4e-1),
lwd=3, log="y")
lines(norm.x, norm.y, col="red", lty=2, lwd=2)
legend("topright",
c("t(5)", "Normal"),
col=c("black", "red"),
lwd=c(3,2),
lty=c(1,2),
box.lwd=0, bg="transparent")
A seguir, exploraremos as propriedades de algumas das distribuiƧƵes mais conhecidas.
Esta distribuição serve para contagens (variÔvel quantitativa discreta) do número de sucessos em uma quantitade determinada de tentativas.
Assume-se:
Ilustramos a construção desta distribuição através de um exemplo, utilizando o jogo de cara ou coroa com moedas.
A função R é Para uma moeda balanceada (prob=0.5), a probabilidade de 0 sucesso (x=0) em 3 jogadas (size=3) é:
1 sucesso em 3 jogadas:
2 sucesso em 3 jogadas:
3 sucesso em 3 jogadas:
|
Os grÔficos foram produzidos utilizando o seguinte código:
source("eiras.friendlycolor.R")
jogadas <- 5
sucesso <- 0:jogadas
probabilidade <- dbinom(sucesso,jogadas,0.5)
plot(sucesso, probabilidade,
main = paste("Binomial: ",
jogadas, " jogadas", sep=""),
ylim = c(0,0.5),
type="h",
col=friendlycolor(8), lwd=3)
points(sucesso,probabilidade, pch=21,
col=friendlycolor(8),
bg=friendlycolor(12))
Este código foi modificado para usar um data frame.
source("eiras.friendlycolor.R")
jogadas <- 15
sucesso <- 0:jogadas
probabilidade <- dbinom(sucesso,jogadas,0.5)
binomial <- data.frame(sucesso,probabilidade)
names(binomial) <- c("Sucesso","FR")
plot(binomial$Sucesso,
binomial$FR,
main = paste("Binomial: ",
jogadas, " jogadas", sep=""),
xlab="sucesso", ylab="probabilidade",
ylim = c(0,0.5),
type="h",
col=friendlycolor(8), lwd=3)
points(binomial$Sucesso,
binomial$FR,
pch=21,
col=friendlycolor(8),
bg=friendlycolor(12))
Observe que a soma de todas as colunas é igual a 1. Então, quanto mais jogadas, maior a dispesão e menor a altura das distribuições. |
|
plot(binomial$Sucesso,
binomial$FR,
main = paste("Binomial: ",jogadas, " jogadas", sep=""),
xlab="sucesso", ylab="probabilidade",
ylim = c(0,max(binomial$FR)),
type="h",
col=friendlycolor(8), lwd=3)
points(binomial$Sucesso,
binomial$FR,
pch=21,
col=friendlycolor(8),
bg=friendlycolor(12))
source("eiras.friendlycolor.R")
p.sucesso <- 0.7 # <br> probabilidade de sucesso <br>
jogadas <- 15
sucesso <- 0:jogadas
probabilidade <- dbinom(sucesso,jogadas,p.sucesso)
plot(sucesso, probabilidade,
main = paste("Binomial: ",
jogadas, " jogadas, ",
"P[s] = ", p.sucesso,
sep=""),
xlab="sucesso", ylab="probabilidade",
ylim = c(0,max(probabilidade)),
type="h",
col=friendlycolor(20), lwd=3)
points(sucesso,probabilidade, pch=21,
col=friendlycolor(20),
bg=friendlycolor(23))
A distribuição binomial descreve a probabilidade de termos um determinado nĆŗmero de sucessos (por exemplo, 3 coroas) em um certo nĆŗmero de tentativas (por exemplo, em 10 jogadas, \(n\)), sendo que cada jogada tem um certa probabilidade de sucesso, sempre a mesma (por exemplo, \(p=0.5\)). A binomial Ć© inteiramente definida, portanto, por estes dois parĆ¢metros, \(n\) e \(p\). Consequentemente, todas as suas caracterĆsticas e propriedades estĆ£o, tambĆ©m, em função dos mesmos dois parĆ¢metros.
Uma boa fonte para ver as fórmulas e suas propriedades é a Wikipedia. Em https://en.wikipedia.org/wiki/Binomial_distribution encontra-se o seguinte resumo:
Inicialmente simularemos um milhão de jogadas nestas condições:
Podemos verificar que a função rbinom()
faz um sorteio
que obedece uma distribuição binomial, com
contagem <- table(coroas)
# converte em probabilidade
contagem <- contagem/sum(contagem)
print (contagem)
coroas
1 2 3 4 5 6 7 8
0.000001 0.000010 0.000070 0.000615 0.003091 0.011487 0.034963 0.080922
9 10 11 12 13 14 15
0.147366 0.206375 0.218410 0.169846 0.091708 0.030310 0.004826
plot(contagem,
ylab="Probabilidade",
xlim=c(0,15), axes=FALSE)
axis(1, at=seq(from=0,to=15,by=5))
axis(2)
Alternativamente, podemos gerar o grƔfico com
|
Comparando este grĆ”fico com o esperado teoricamente com 15 jogadas de uma moeda desbalanceada para 70% de coroas, Ć© possĆvel ver a similaridade.
Em teoria, a mƩdia Ʃ dada por
\[\text{mƩdia} = np\]
Por exemplo, nas 15 jogadas da moeda desbalanceada em que a probabilidade de sucesso era 0.7 (a moeda produz 70% de coroas), espera-se que a mƩdia seja \(15 \cdot 0.7 = 10.5\).
Em nossa simulação a probabilidade de sucesso, \(\hat{p}\), foi
p.sucesso <- mean(coroas/15)
cat("Probabilidade de sucesso na simulação = ",p.sucesso,"\n", sep="")
Probabilidade de sucesso na simulação = 0.6999217
O número de jogadas é dado, igual a 15. Então, na simulação, obtivemos:
MƩdia simulada = 10.49883
à o mesmo, mais diretamente, coincidente com o valor da média de coroas na simulação, dado por:
[1] 10.49883
Pela tabela da Wikipedia, temos que
\[\text{variância}=npq=np(1-p)\]
onde \(q=1-p\) é a probabilidade de fracasso. O desvio-padrão é a raiz quadrada da variância, \(sd=\sqrt{np(1-p)}\) (\(sd\), do inglês, standard deviation). Em teoria, portanto, esperamos \(sd=15 \cdot 0.7 \cdot 0.3 = 1.774824\).
Dos dados simulandos obtemos:
1.774956
ou
1.775678
ou
1.775677
No quadro temos, em teoria: \[\text{assimetria} = {{(1-p)-p}\over{\sqrt{np(1-p)}}}\]
Em teoria, espera-se \(\text{assimetria} = -0.2253745\). O número de jogadas, \(n\), é dado e igual a 15. A assimetria de nossa distribuição simulada, portanto, é:
n <- 15
skewness <- ((1-p.sucesso)-p.sucesso) / sqrt(n*p.sucesso*(1-p.sucesso))
cat("Skewness (fórmula da Wikipedia) = ",skewness,"\n", sep="")
Skewness (fórmula da Wikipedia) = -0.2252694
Existe função R no pacote DescTools
:
Assimetria = -0.2266838
O valor não é exatamente igual ao da fórmula da Wikipedia porque a função do pacote usa métodos diferentes de estimação e serve para qualquer distribuição, mas ainda assim o valor teórico e os obtidos da simulação são muito similares.
Assimetria negativa Ć© o que aparece, graficamente, como cauda mais longa Ć esquerda. Neste exemplo, o Ćndice indica que, aproximadamente, a distribuição estĆ” -0.23 desvios-padrĆ£o desviada do nĆŗmero mĆ©dio de coroas em 15 tentativas. Graficamente, representamos em azul a mĆ©dia como um triĆ¢ngulo e o desvio-padrĆ£o desta amostra com uma seta para a esquerda (a direção dada pela assimetria).
contagem <- table(coroas)
contagem <- contagem/sum(contagem)
plot(contagem, ylab="Probabilidade",
xlim=c(0,15), axes=FALSE)
axis(1, at=seq(from=0,to=15,by=5))
axis(2)
points(mean(coroas), 0, pch=17, col="blue",cex=2)
arrows(mean(coroas),0,mean(coroas)-sd(coroas),0, length=0.15, angle=15, lwd=2, col="blue")
O excesso de curtose, em teoria Ć© dado por
\[\text{Excesso de curtose} = { {1 - 6pq} \over { npg } } = { {1 - 6p(1-p)} \over { np(1-p) } }\]
Em teoria esperamos curtose igual a -0.0825397.
Em nossa simulação obtivemos:
n <- 15
curtose <- (1 - 6 * p.sucesso * (1-p.sucesso) ) / (n * p.sucesso * (1-p.sucesso))
cat("Ex. kurtosis (fórmula da Wikipedia) = ",curtose,"\n", sep="")
Ex. kurtosis (fórmula da Wikipedia) = -0.08258703
Existe função R no pacote DescTools
:
Excesso de curtose = -0.07670229
O pacote DescTools (default é o método 3), novamente mostra similaridade entre o teórico e os obtidos da simulação.
Neste exemplo, portanto, a binomial simulada Ć© aproximadamente mesocĆŗrtica.
Esta distribuição é tipicamente aplicÔvel quando hÔ um evento relativamente raro, contÔvel (i.e., variÔvel quantitativa discreta) que ocorre a uma determinada taxa constante (um certo número de ocorrências em uma determinada população em um determinado intervalo de tempo).
Assume-se:
Por exemplo, retomamos o exemplo das mortes de motociclistas em 2019 na Cidade de SĆ£o Paulo, SP:
Desconsiderando qualquer variação sazonal, se hÔ 366 mortes em São Paulo em um ano, esperamos ter, em média \(366/12 = 30.5\) mortes por mês. No entanto, com qual variação isto ocorre? JÔ vimos que parece ser razoavelmente ampla. Em uma série de 12 meses simulados, podemos observar algo como:
lambda <- 366/12
mortes <- rpois(n=12,lambda=lambda)
cat ("Em doze meses, com taxa de ",lambda," mortes/mĆŖs, podemos observar:\n",sep="")
Em doze meses, com taxa de 30.5 mortes/mĆŖs, podemos observar:
[1] 31 33 25 33 37 26 21 31 26 29 29 27
Como pode ter notado no código, a função rpois()
faz o
sorteio seguindo a distribuição de Poisson. caracterizada por um único
parâmetro, \(\lambda\).
Na Wikipedia (https://en.wikipedia.org/wiki/Poisson_distribution) encontramos o resumo de suas propriedades:
Neste exemplo, qual seria a probabilidade esperada para cada nĆŗmero de mortes?
source("eiras.numeric.summary.R")
set.seed(3972) # para repetir este exemplo
mortes <- 0:80
valpois <- rpois(1e6, lambda=30.5)
tabpois <- table(valpois) # em numeros
tabpois <- tabpois/sum(tabpois) # em probabilidade
plot(as.numeric(names(tabpois)),as.numeric(tabpois),
main="Distribuição de Poisson",
xlab="Mortes por mĆŖs", ylab="Probabilidade",
lwd=2, type="h")
cat("SumƔrio:\n")
sumario <- numeric.summary(valpois)
print(sumario)
cat("\n")
media <- mean(valpois)
cat("MƩdia = ",media,"\n", sep="")
desvpad <- sd(valpois)
cat("Desvio-padrão = ",desvpad,"\n", sep="")
desvpad <- var(valpois)
cat("Variância = ",desvpad,"\n", sep="")
skewness <- DescTools::Skew(valpois)
cat("Assimetria = ",skewness,"\n", sep="")
curtose <- DescTools::Kurt(valpois)
cat("Ex.curtose = ",curtose,"\n", sep="")
Obtendo-se:
SumƔrio:
Min. 1st Qu. Median 3rd Qu. Max. Mean St.Dev. n NA
8 27 30 34 63 30.50496 5.523132 1e+06 0
MƩdia = 30.50496
Desvio-padrão = 5.523132
Variância = 30.50499
Assimetria = 0.182608
Ex.curtose = 0.02902318
A média é igual à própria taxa das ocorrências. Obtivemos 30.504965 (em teoria 30.5).
Nesta distribuição, a variância é igual à média, por sua vez igual à própria taxa das ocorrências. Obtivemos 30.5049859 (em teoria 30.5). Consequentemente, desvio padrão de 5.5231319 (em teoria 5.5226805).
Embora não apareça tão obviamente no grÔfico, posto que a taxa é relativamente alta, a distribuição de Poisson é assimétrica à direita; observe a simetria ao redor da média de 30.5 e note que a cauda da direita é mais longa (olhe a probabilidade de ocorrência de 20 e 40 mortes em um mês para notar melhor esta assimetria).
Segundo a Wikipedia, \(\text{Skewness}=\lambda^{-0.5}={{1}\over{\sqrt{\lambda}}}\) \(~\approx~\) 0.181071. Obtivemos o valor de 0.182608.
Esta distribuição é praticamente mesocúrtica.
Segundo a Wikipedia, \(\text{Ex.Kurtosis}=\lambda^{-1}={{1}\over{\lambda}}\) \(~\approx~\) 0.032787. Obtivemos o valor de 0.0290232.
Medidas somatomatométricas costumam ser aproximadas por distribuições normais. Por exemplo, o arquivo Biometria.xls contém dados de estudantes de medicina que coletamos por alguns anos. A distribuição das estaturas dos homens é:
biometria <- readxl::read_excel("Biometria.xls")
biometria.homens <- biometria[biometria$sexo=="M",]
estaturas <- biometria.homens$estatura
minx <- min(estaturas, na.rm=TRUE)
maxx <- max(estaturas, na.rm=TRUE)
densidade.estatura <- density(estaturas, na.rm=TRUE)
maxy <- max(densidade.estatura$y, na.rm=TRUE)
plot(densidade.estatura,
main="Distribuição das estaturas (homens)",
xlab="Estatura (cm)",
ylab="Densidade",
xlim=c(minx,maxx),
lwd=2)
Podemos aproximar para uma distribuição normal, usando seus dois
parâmetros, média e desvio-padrão:
n <- sum(!is.na(estaturas))
media.med <- mean(estaturas, na.rm=TRUE)
desvpad.med <- sd(estaturas, na.rm=TRUE)
cat("Estaturas, sexo masculino (n=",n,"):\n",sep="")
cat("\tmedia = ",media.med,sep="")
cat("\tdp = ",desvpad.med,sep="")
Estaturas, sexo masculino (n=273):
media = 175.3736 dp = 7.247183
Segundo a Wikipedia (https://en.wikipedia.org/wiki/Normal_distribution), o resumo das propriedades de uma distribuição normal é:
Simularemos uma distribuição normal, portanto, com as caracterĆsticas das estaturas dos estudantes do sexo masculino:
library(DescTools)
library(readxl)
source("eiras.numeric.summary.R")
source("eiras.friendlycolor.R")
set.seed(9428)
biometria <- readxl::read_excel("Biometria.xls")
biometria.homens <- biometria[biometria$sexo=="M",]
estaturas <- biometria.homens$estatura
minx <- min(estaturas, na.rm=TRUE)
maxx <- max(estaturas, na.rm=TRUE)
densidade.estatura <- density(estaturas, na.rm=TRUE)
maxy <- max(densidade.estatura$y, na.rm=TRUE)
media.med <- mean(estaturas, na.rm=TRUE)
desvpad.med <- sd(estaturas, na.rm=TRUE)
valnorm <- rnorm(1e6, mean=media.med, sd=desvpad.med)
densidade <- density(valnorm)
plot (densidade,
main="Distribuição Normal",
xlab="Estatura (cm)", ylab="Densidade",
xlim=c(minx,maxx),
ylim=c(0,maxy),
lwd=2)
lines(densidade.estatura, col=friendlycolor(7), lty=2, lwd=2)
abline(v=media.med, lty=2) # media
# desvio-padrao
lines(
c(media.med,media.med+desvpad.med),
dnorm(rep(media.med+desvpad.med,2), mean=media.med, sd=desvpad.med),
lty=2)
cat("SumƔrio:\n")
sumario <- numeric.summary(valnorm)
print(sumario)
cat("\n")
media <- mean(valnorm)
cat("MƩdia = ",media,"\n", sep="")
desvpad <- sd(valnorm)
cat("Desvio-padrão = ",desvpad,"\n", sep="")
variancia <- var(valnorm)
cat("Variância = ",variancia,"\n", sep="")
skewness <- DescTools::Skew(valnorm)
cat("Assimetria = ",skewness,"\n", sep="")
curtose <- DescTools::Kurt(valnorm)
cat("Ex.curtose = ",curtose,"\n", sep="")
SumƔrio:
Min. 1st Qu. Median 3rd Qu. Max. Mean St.Dev. n NA
139.5633 170.4855 175.3611 180.2586 210.0528 175.3712 7.239951 1e+06 0
MƩdia = 175.3712
Desvio-padrão = 7.239951
Variância = 52.41689
Assimetria = 0.00194142
Ex.curtose = -0.01018367
Pedimos média de 175.3736264 e obtivemos da função
rnorm()
175.3712179.
No grƔfico, a mƩdia estƔ representada pela linha pontilhada vertical.
Pedimos desvio-padrão de 7.2471825 e obtivemos da função
rnorm()
7.2399512 (variância de 52.4168929).
No grÔfico, o desvio-padrão estÔ representado pela linha pontilhada horizontal (fica na altura em que a normal muda de concavidade).
A distribuição normal é simétrica. Obtivemos a medida de 0.0019414 em nossa distribuição simulada.
A distribuição normal é a referência. Obtivemos a medida de -0.0101837 em nossa distribuição simulada.
A distribuição normal tem dois parâmetros, média (\(\mu\)) e desvio-padrão (\(\sigma\)). |
Vamos assumir uma distribuição \(N(\mu=15,\sigma=8)\):
à uma distribuição simétrica, portanto média, moda e mediana
coincidem:
Metade da Ôrea sob a curva estÔ à esquerda e metade à direita da média.
cerca de 68% da Ôrea entre -1 e +1 desvio-padrão:
cerca de 95% da Ôrea entre -2 e +2 desvio-padrão:
cerca de 99.7% da Ôrea entre -3 e +3 desvio-padrão:
Por que a distribuição normal Ć© importante em estatĆstica? Porque suas propriedades sĆ£o conhecidas e ela aparece naturalmente sob determinadas circunstĆ¢ncias. Veja, por exemplo, āAmostragem e Reamostragemā. |
Para cada par de parâmetros \(\mu\) e \(\sigma\), define-se completamente uma distribuição normal.
Admita (não tome estes valores como variÔveis da prÔtica médica) que as seguintes variÔveis tenham distribuições normais:
# GraficoNormal.R
source ("eiras.friendlycolor.R")
variavel <- "Creatinina"
unidade <- "mg/dl"
media <- 0.95
desvpad <- 0.125
x <- seq(from=media-5*desvpad, to=media+5*desvpad, by=0.01)
y <- dnorm(x, mean=media, sd=desvpad)
xy <- data.frame(x,y)
plot(x,y,
main=paste("N(",media,",",desvpad,")",sep=""),
xlab=paste(variavel," (",unidade,")",sep=""),
ylab=NA,
xlim=c(media-4*desvpad,media+4*desvpad),
col=friendlycolor(2),type="l",lwd=2
)
⦠com o mesmo código R, geramos:
Parecem todas iguais, mas observe na mesma escala (desconsiderando as
unidades de medida):
Para padronizar qualquer distribuição, basta aplicar a todos os seus valores x:
\(z = { {x - \mu} \over \sigma }\)
Subtrair a média faz com que a distribuição fique centrada em \(0\) e dividir por \(\sigma\) faz com que o desvio-padrão seja igual a \(1\). A distribuição resultante é dada em escore \(z\).
Caso normalizemos todas as curvas acima, obteremos:
A vantagem é que conhecemos as propriedades de qualquer distribuição normal, mas da normal padronizada memorizamos facilmente seus principais valores.
A função R que (dado o valor q, devolve a probabilidade) é:
que calcula (por default) as probabilidades acumuladas de -infinito (lower.tail=TRUE) ao valor q solicitado. Assume, também por default, média igual a zero (mean=0) e desvio-padrão (em ingês, standard deviation) igual a 1 (sd=1), portanto uma normal padronizada. Não é necessÔrio converter tudo para a normal padronizada quando quiser encontrar quaisquer as probabilidades. No exemplo, com média igual a 15 e desvio-padrão igual a 8, encontramos as Ôreas, respectivamente, para \(\pm 1 sd\):
ou, na versão da normal padronizada (que serve para simplificar):
a distribuição normal Ć© simĆ©trica, entĆ£o achamos a probabilidade acumulada de \(-\infty\) atĆ© 1 desvio-padrĆ£o, subtraĆmos a metade esquerda da distribuição (encontrando a Ć”rea entre 0 e 1 desvio-padrĆ£o) e, entĆ£o, multiplicamos por 2. Similarmente, para \(\pm 2 sd\):
e para \(\pm 3 sd\):
Note que, entre \(\pm 2 dp\), não temos exatamente 95% da Ôrea. Para achar o valor correto, a função R que faz o reverso de pnorm (dada a probabilidade, devolve o valor q) é:
então obtemos (deixando \(2.5\%\) em cada cauda):
e
Então, 95% da Ôrea fica, aproximadamente, no intervalo dado por \(\pm 1.96 dp\).
|
Para mulheres o valor de referência da creatinina sérica é de 0.5 a 1.1 mg/dl. Assumiremos, então, distribuição aproximadamente normal com média de 0.8 mg/dl e desvio-padrão de 0.15 mg/dl.
O seguinte código usa a função rnorm() para criar, usando um gerador de números pseudo-aleatórios (random), um vetor numérico com 10000 valores individuais:
# numero de individuos
n <- 10000
# assumindo que a distribuicao eh simetrica%
mu <- 0.8 # (0.5+1.1)/2
# assumindo que deram o intervalo de 95%
dp <- 0.15 # (1.1-0.5)/4
# cria vetor e exibe o grafico
v <- rnorm(n,mu,dp)
d <- density(v)
plot(d, type="l",
main="Distribuicao ficticia",
xlim=c(mu-4*dp,mu+4*dp),
xlab="Creatinina",
ylab="densidade",
lty=1, lwd=2)
e o seguinte código exibe a distribuição padronizada
v2 <- (v-mu)/dp
d2<- density(v2)
plot(d2, type="l",
main="Distribuicao ficticia padronizada",
xlim=c(-4, 4),
xlab="z",
ylab="densidade",
lty=1, lwd=2)
Da mesma forma, assumindo-se que o valor de referência para hemoglobina em mulheres é de \(13.5 \pm 1.5 g/dl\), correspondendo estes valores à média \(\pm\) 2 desvio-padrão, e que a distribuição da hemoglobina segue aproximadamente uma distribuição normal, criamos:
# numero de individuos
n <- 10000
# media
mu <- 13.5
# desvio-padrao
dp <-1.5
# cria vetor e exibe o grafico
v <- rnorm(n,mu,dp)
d <- density(v)
plot(d, type="l",
main="Distribuicao ficticia",
xlim=c(mu-4*dp,mu+4*dp),
xlab="Hemoglobina",
ylab="densidade",
lty=1, lwd=2)
a qual Ć© igualmente padronizada:
v2 <- (v-mu)/dp
d2<- density(v2)
plot(d2, type="l",
main="Distribuicao ficticia padronizada",
xlim=c(-4, 4),
xlab="z",
ylab="densidade",
lty=1, lwd=2)
Este código mostra as Ôreas sob uma distribuição normal, utilizando a regra 68.2%-95.4%-99.7% para 1, 2 e 3 desvios-padrão:
# GraficoNormal.R
source("eiras.friendlycolor.R")
# normal
media <- 40
desvpad <- 20
x <- seq(from=media-5*desvpad, to=media+5*desvpad, by=0.01)
y <- dnorm(x, mean=media, sd=desvpad)
xy <- data.frame(x,y)
plot(x,y,
main="Distribuicao normal", xlab="x", ylab=NA,
xlim=c(media-4*desvpad,media+4*desvpad),
axes=FALSE,
type="l",lwd=2
)
desvios <- c(-3,-2,-1, 0, 1, 2, 3)
axis(side = 1, at = media+desvios*desvpad)
# caudas
prob.cauda <- pnorm(media+desvios*desvpad, mean=media, sd=desvpad)
x.cauda <- qnorm(prob.cauda, mean=media, sd=desvpad)
# amarelo, verde, azul, NA, azul, verde, amarelo
cor <- c(24, 15, 9, NA, 9, 15, 24)
for(d in 1:3) # 3, 2 e 1 desvios-padrao
{
polx <- xy$x[xy$x>=x.cauda[d] & xy$x<=x.cauda[8-d]]
poly <- xy$y[xy$x>=x.cauda[d] & xy$x<=x.cauda[8-d]]
polx <- c(min(polx), polx, max(polx))
poly<- c(0, poly, 0)
polygon(polx,poly,border=NA,col=friendlycolor(cor[d]))
}
O seguinte código cria uma distribuição com 50 estaturas e hachura as caudas (2.5% da Ôrea em cada uma), encontrando os quantis:
source("eiras.friendlycolor.R")
estatura.masc <- rnorm(n=50, mean=177, sd=10)
estatdens <- density(estatura.masc)
plot(estatdens,
main="Grafico de densidade",
xlab="Estatura masculina (cm)", ylab="Densidade")
# caudas
limites <- quantile(estatura.masc, probs = c(0.025,0.975))
polx <- estatdens$x[estatdens$x<=limites[1]]
polx <- c(min(polx), polx, max(polx))
poly <- estatdens$y[estatdens$x<=limites[1]]
poly<- c(0, poly, 0)
polygon(polx,poly,border=NA,
col=friendlycolor(8)
)
polx <- estatdens$x[estatdens$x>=limites[2]]
polx <- c(min(polx), polx, max(polx))
poly <- estatdens$y[estatdens$x>=limites[2]]
poly<- c(0, poly, 0)
polygon(polx,poly,border=NA,
col=friendlycolor(8)
)
Em vÔrios testes aplicados obtém-se um escore \(z\) (por exemplo, o teste de QI ou a prova do ENEM). HÔ um problema para a comunicação do resultado. Imagine dizer aos pais que o QI de seu filho é -0.1, ou que a nota de um vestibulando foi zero (indicando que estÔ na média).
Uma solução é fazer o reverso da padronização: multiplicar por certo valor para alargar a dispersão dos valores e somar para transladar a curva. No QI, multiplica-se por 15 e soma-se 100 (então o QI tem média 100 e desvio padrão de 15). No ENEM multiplica-se por 100 e soma-se 500 (média de 500 e desvio-padrão de 100). Quando dizem, para o ENEM, que a nota varia de 0 a 1000, na verdade estão apenas contando parte da verdade, cobrindo \(\pm 5\) desvios-padrão (o que explica o ano em que apareceu um estudante com 1080 pontos, o que criou um problema para os gestores explicarem o ocorrido).
Nesta figura, aparece o escore T (multiplica por 10 e soma 50), mas também outras possibilidades como Estaninos (Stanines) com intervalos equiespaçados em \(z\) no centro da distribuição normal criando uma escala ordinal de 1 a 9.
HĆ” momentos em que precisamos alterar os nĆŗmeros de variĆ”veis quantitativas. As aplicaƧƵes aparecerĆ£o em testes estatĆsticos, quando necessĆ”rios.
Operações que envolvem as operações bÔsicas (soma, subtração,
multiplicação e divisão) não alteram o formato da distribuição destas
variÔveis. à o caso da distribuição normal, quando padronizada. Por
exemplo, criamos 100 valores de hemoblogina com a função
rnorm()
# para reproduzir o exemplo
set.seed(837)
# numero de individuos
n <- 100
# media
mu <- 13.5
# desvio-padrao
dp <-1.5
# unidade
txtun <- "mg/dl"
# cria a populacao e exibe o grafico
v <- rnorm(n,mu,dp)
d <- density(v)
plot (d, type="l",
main="Distribuicao ficticia",
xlab=paste("Hemoglobina (",txtun,")",sep=""),
ylab="densidade",
lty=1, lwd=2)
cat("Verificação:\n")
cat(" mƩdia = ", round(mean(v),6),"\n", sep="")
cat(" dp = ", round(sd(v),6),"\n", sep="")
Verificação:
mƩdia = 13.63409
dp = 1.532805
A distribuição, dado o nĆŗmero de indivĆduos, Ć© apenas aproximadamente normal.
A padronização destes valores, que estão armazenados no vetor
v
pode ser feito com a função scale()
:
# unidade
txtun <- "escore-z"
# padronizando
v.padrao <- scale(v, center=TRUE, scale=TRUE)
d <- density(v.padrao)
plot (d, type="l",
main="Distribuição fictĆcia padronizada",
xlab=paste("Hemoglobina (",txtun,")",sep=""),
ylab="densidade",
lty=1, lwd=2)
cat("Verificação:\n")
cat(" mƩdia = ", round(mean(v.padrao),6),"\n", sep="")
cat(" dp = ", round(sd(v.padrao),6),"\n", sep="")
Verificação:
mƩdia = 0
dp = 1
Observe que a padronização torna a mĆ©dia nula e o desvio-padrĆ£o unitĆ”rio. A unidade de medida deixou de existir, substituĆda por escores-\(z\) (i.e., a medida estĆ” em desvios-padrĆ£o).
Esta função, no entanto, permite apenas centrar ou escalonar isoladamente. Por exemplo:
# unidade
txtun <- "mg/dl"
# centrando
v.centrada <- scale(v, center=TRUE, scale=FALSE)
d <- density(v.centrada)
plot (d, type="l",
main="Distribuição fictĆcia centrada",
xlab=paste("Hemoglobina (",txtun,")",sep=""),
ylab="densidade",
lty=1, lwd=2)
cat("Verificação:\n")
cat(" mƩdia = ", round(mean(v.centrada),6),"\n", sep="")
cat(" dp = ", round(sd(v.centrada),6),"\n", sep="")
Verificação:
mƩdia = 0
dp = 1.532805
Neste caso a distribuição apenas desloca-se para que a média seja nula, mas o desvio-padrão fica inalterado. Observe que os valores originais foram transformados em valores negativos, nulos (se coincidiam com a média) ou positivos.
TransformaƧƵes nĆ£o lineares sĆ£o Ćŗteis quando precisamos alterar o formato de uma distribuição. Tomemos, como exemplo a massa do cĆ©rebro de alguns mamĆferos que estĆ£o no arquivo CorpoCerebro.xlsx, usando o código disponĆvel em massacerebro.R:
Verificação:
mƩdia = 677.7958
dp = 1422.126
A padronização executada com massacerebro_padrao.R não altera o formato da distribuição, mas faz a média ser nula, o desvio-padrão unitÔrio e a variÔvel medida em desvios padrão (escores-\(z\)):
Verificação:
mƩdia = 0
dp = 1
Para encontrar uma distribuição mais simĆ©trica, o que pode ser conveniente para vĆ”rios procedimentos estatĆsticos, necessitamos de transformaƧƵes nĆ£o lineares. Criamos uma função, disponĆvel em eiras.tukey.try.R, que tenta as transformaƧƵes potĆŖncia de Tukey, indo de -3 a +3, e informa qual Ć© a transformação que produz a transformação mais simĆ©trica. SĆ£o elas:
A função tukey.try()
retorna uma lista com dois objetos:
o primeiro com as informações da transformação escolhida e o segundo com
os valores transformados. Adaptamos o código massacerebro_tukeytry.R para chamar
tukey.try()
exibindo todas as tentativas de transformação
não linear (a função pode trabalhar silenciosamente também).
ObtƩm-se:
-------------------
Tukey's lambda = -3
-------------------
mean: -0.6945283
st.dev.: 3.186692
median: -1.804733e-07
mode: 2.044677e-05
iqr: 1.916055e-05
Asymmetry coefficient: 36248.89
---------------------
Tukey's lambda = -2.5
---------------------
mean: -0.4567793
st.dev.: 2.017888
median: -2.400543e-06
mode: 0.0001143052
iqr: 0.0001071151
Asymmetry coefficient: 4265.444
-------------------
Tukey's lambda = -2
-------------------
mean: -0.308468
st.dev.: 1.281852
median: -3.193154e-05
mode: 0.0006568912
iqr: 0.0006155977
Asymmetry coefficient: 502.1541
---------------------
Tukey's lambda = -1.5
---------------------
mean: -0.2192314
st.dev.: 0.821324
median: -0.0004247605
mode: 0.003853863
iqr: 0.003613604
Asymmetry coefficient: 61.73484
-------------------
Tukey's lambda = -1
-------------------
mean: -0.1758119
st.dev.: 0.5381691
median: -0.005650439
mode: -0.002751612
iqr: 0.0209163
Asymmetry coefficient: 8.273942
---------------------
Tukey's lambda = -0.5
---------------------
mean: -0.2150154
st.dev.: 0.3677148
median: -0.0751682
mode: -0.05788277
iqr: 0.1022852
Asymmetry coefficient: 1.53622
------------------
Tukey's lambda = 0
------------------
mean: 4.755004
st.dev.: 2.425706
median: 5.176086
mode: 5.573491
iqr: 2.270929
Asymmetry coefficient: 0.3604197
--------------------
Tukey's lambda = 0.5
--------------------
mean: 18.40897
st.dev.: 18.80534
median: 13.30392
mode: 11.407
iqr: 14.2457
Asymmetry coefficient: -0.4915145
------------------
Tukey's lambda = 1
------------------
mean: 677.7958
st.dev.: 1422.126
median: 177
mode: 89.40176
iqr: 397.85
Asymmetry coefficient: -1.478934
--------------------
Tukey's lambda = 1.5
--------------------
mean: 36859.8
st.dev.: 105213.5
median: 2354.945
mode: 901.2862
iqr: 9082.256
Asymmetry coefficient: -3.959205
------------------
Tukey's lambda = 2
------------------
mean: 2397581
st.dev.: 7743393
median: 31333
mode: 48736.53
iqr: 196740.4
Asymmetry coefficient: -11.9388
--------------------
Tukey's lambda = 2.5
--------------------
mean: 167127479
st.dev.: 570311513
median: 416905
mode: 368653
iqr: 4192973
Asymmetry coefficient: -39.77103
------------------
Tukey's lambda = 3
------------------
mean: 11967279917
st.dev.: 42123888002
median: 5547357
mode: 270222730
iqr: 88888250
Asymmetry coefficient: -131.5928
-------------------
Best transformation
-------------------
Tukey's lambda = 0
(logarithm transformation)
Asymmetry coefficient = 0.360419745448379
eqtext: ln[massa]
Verificação:
mƩdia = 4.755004
dp = 2.425706
Para entender quais dados retornados de
Em uma lista deste tipo, os objetos sĆ£o acessĆveis separadamente com:
O primeiro objeto,
O segundo objeto Ʃ um vetor numƩrico com os valores transformados (neste
exemplo, o logaritmo da massa devido à melhor transformação obtida).
|
Os processos de amostragem (sampling) e reamostragem (bootstrapping) servem para que mostremos o comportamento do teorema central do limite e o conceito de erro padrão.
O Teorema Central do Limite (TCL) Ć© uma das descobertas mais poderosas para as anĆ”lises estatĆsticas.
Assume-se:
As distribuições binomial e de Poisson vistas acima, quando \(n\) aumenta, aproximam-se da distribuição normal. Você pode usar o R para verificar. |
Enuncia que:
A distribuição das médias amostrais tem distribuição normal, com média igual à média populacional e erro padrão da média igual ao desvio padrão populacional dividido pela raiz quadrada do tamanho da amostra.
O ādesvio padrĆ£o populacional dividido pela raiz quadrada do tamanho da amostraā Ć© o erro padrĆ£o, estimado pelo desvio-padrĆ£o amostral \(s\) e o tamanho da amostra \(n\) por \[EP={{s}\over{\sqrt{n}}}\]
Para experimentar com ele e esclarecer o que isto significa, vamos criar uma população com uma variĆ”vel fictĆcia que, intencionalmente, nĆ£o tem distribuição normal:
Em primeiro lugar, ativamos algumas funƧƵes de apoio que desenvolvemos:
source("eiras.friendlycolor.R")
source("eiras.create.population.R")
source("eiras.plot.density.withmeansd.R")
source("eiras.sampling.R")
e criamos um vetor com uma população fictĆcia:
# create a simulated population
population <- create.population(kind="normal", round=0,
n=c(2000,6000,3500,3000),
param1=c(160,200,230,280), # mean
param2=c(5,10,30,15) # sd
)
Esta população tem a seguinte distribuição:
limits <- plot.density.withmeansd(population,
main="Populacao simulada\n(sampling)",
xlab="Valores",
ylab="Densidade",
col=friendlycolor(7), getlimits=TRUE)
A linha pontilhada vertical corresponde Ć media populacional e a barra
horizontal que aparece na parte alta do grÔfico mostra sua média \(\pm 3\) desvios-padrão.
O primeiro exercĆcio que faremos Ć© retirar desta população \(B\) amostras aleatórias simples, cada uma delas com \(n\) indivĆduos sem reposição (detalhes adiante, em reamostragem):
limits <- plot.density.withmeansd(population,
main="Populacao simulada\n(sampling)",
xlab="Valores",
ylab="Densidade",
col=friendlycolor(7), getlimits=TRUE)
B <- 1000
n <- 36
samples <- sampling(population,B=B,
n=n,replace=FALSE,
graph=TRUE,col=friendlycolor(3))
amo.medias <- samples[[2]]
amo.sds <- samples[[3]]
legend("right",
c("Distribuicao",
"Media pop +-3 dp",
paste("amostras: ",B,sep=""),
"Media am. +-3 dp"
),
col=c(friendlycolor(7),
paste(friendlycolor(7),"88",sep=""),
friendlycolor(3),
paste(friendlycolor(3),"88",sep="")
),
lwd=c(2,10,2,10),
lty=c(1,1,1,1),
cex=0.7,
box.lwd=0, bg="transparent")
# distribuicao da populacao original, sobreposta para referencia
plot.density.singleline(population,col=friendlycolor(7))
Neste último grÔfico adotamos B=1000
e
n=36
, assim obtendo 1000 linhas representando 1000 amostras
de 36 indivĆduos, Ć s quais a distribuição da população original foi
sobreposta. Pode-se notar que as amostras, com imperfeiƧƵes, seguem o
perfil geral da população.
A linha pontilhada vertical correspondente à media das medias amostrais e coincide com a média populacional. Na parte alta do grafico podemos verificar que os desvios-padrão populacionais são praticamente iguais à média dos desvios-padrão amostrais.
Numericamente:
pm <- mean(population,na.rm=TRUE)
ps <- sd(population,na.rm=TRUE)
am <- mean(amo.medias,na.rm=TRUE)
as <- mean(amo.sds,na.rm=TRUE)
v <- ""
v <- paste(v,"Populacao:\n")
v <- paste(v,"\tmedia populacional:",round(pm,4),"\n")
v <- paste(v,"\tdp populacional:",round(ps,4),"\n")
v <- paste(v,"\n")
v <- paste(v,"Amostras:",B,"com n =",n,"\n")
v <- paste(v,"\tmedia das medias amostrais:",round(am,4),"\n")
v <- paste(v,"\tmedia dos dp amostrais:",round(as,4))
cat(v)
Populacao:
media populacional: 218.0423
dp populacional: 41.5684
Amostras: 1000 com n = 36
media das medias amostrais: 217.9131
media dos dp amostrais: 41.3801
Na variÔvel amo.medias guardamos as 1000 médias amostrais. Como são uma coleção de 1000 números, podemos verificar sua distribuição e calcular sua média (a média das médias amostrais) e seu desvio padrão (o desvio-padrão das médias amostrais).
Mantendo a escala do eixo das abscissas, a distribuição das 1000 médias amostrais é:
plot.density.withmeansd(amo.medias,
main="Distribuicao de medias amostrais\n(sampling)",
xlab="Valores",
ylab="Densidade",
x.min=limits[1], x.max=limits[2],
col=friendlycolor(3))
Comparada com a população e as 1000 amostras feitas anteriormente, a média desta última distribuição coincide com a média das médias amostrais, mas seu desvio padrão é menor.
Ao mesmo grÔfico adicionamos uma distribuição normal em pontilhado, mas deixando a escala das abscissas livre, observamos:
# distribuicao das medias amostrais (deixando a escala livre)
plot.density.withmeansd(amo.medias,
main="Distribuicao de medias amostrais\n(sampling)",
xlab="Valores",
ylab="Densidade",
col=friendlycolor(3))
# ajustando distribuicao normal
am <- mean(amo.medias,na.rm=TRUE)
ep <- sd(amo.medias,na.rm=TRUE)
x <- seq(am-4*ep,am+4*ep,length.out=100)
y <- dnorm(x, mean=am, sd=ep)
lines(x,y,lty=2,lwd=2,col=friendlycolor(3))
Surpreendemente, a distribuição observada e uma distribuição normal com
média e desvio padrão iguais às médias e desvio padrão das médias
amostrais são muito próximas.
Numericamente:
am <- mean(amo.medias,na.rm=TRUE)
ep <- sd(amo.medias,na.rm=TRUE)
v <- ""
v <- paste(v,"Amostras:",B,"com n =",n,"\n")
v <- paste(v,"\tmedia das medias amostrais:",round(am,4),"\n")
v <- paste(v,"\tdp das medias amostrais:",round(ep,4))
cat(v)
Amostras: 1000 com n = 36
media das medias amostrais: 217.9131
dp das medias amostrais: 6.707
Observe atentamente a sutileza, pois trocamos a variƔvel
as que continha a média dos desvios-padrão
amostrais com valor 41.3801, similar ao desvio-padrão populacional
ps=41.5684, pela variƔvel ep que
contém o desvio padrão das médias amostrais com valor 6.707. De
fato, ps/ep=6.1977635
, valor próximo à raiz quadrada do
tamanho de cada amostra, sqrt(36)=6
.
Este desvio padrão das médias amostrais obtido por este experimento hipotético é conhecido como erro padrão da média, \(EP\).
Na prÔtica, quando obtemos uma única amostra, o \(EP\) é estimado por \[EP={{s}\over{\sqrt{n}}}\] onde \(s\) é o desvio-padrão da amostra e \(n\) é o tamanho da amostra, na esperança de que \(s\) seja um valor próximo (i.e., um bom estimador) do desvio-padrão populacional \(\sigma\), desconhecido.
Agora o enunciado do Teorema Central do Limite pode ser compreendido:
A distribuição das médias amostrais tem distribuição normal, com média igual à média populacional e erro padrão da média igual ao desvio padrão populacional dividido pela raiz quadrada do tamanho da amostra.
Interessante Ć© que, com \(n \ge
30\), o TCL se verifica para qualquer distribuição da variÔvel
original. Não é necessÔrio confiar em nossa palavra. Experimente trocar
a população inicial em bootstrapping_demo.R
e
verifique.
Ainda com esta simulação, podemos adicionar um intervalo de confiança 95% sobre a distribuição das médias amostrais:
# distribuicao das medias amostrais (deixando a escala livre)
plot.density.withmeansd(amo.medias,
main="Distribuicao de medias amostrais\n(sampling)",
xlab="Valores",
ylab="Densidade",
col=friendlycolor(3))
# ajustando distribuicao normal
am <- mean(amo.medias,na.rm=TRUE)
ep <- sd(amo.medias,na.rm=TRUE)
x <- seq(am-4*ep,am+4*ep,length.out=100)
y <- dnorm(x, mean=am, sd=ep)
lines(x,y,lty=2,lwd=2,col=friendlycolor(3))
# intervalo de confianca 95%
icx <- quantile(amo.medias,probs=c((1-0.95)/2,1-((1-0.95)/2)))
icy <- mean(y[which(round(x,0)==round(icx,0))],na.rm=TRUE)
h <- icy/5
lines(c(icx[1],icx[1],icx[1],icx[2],icx[2],icx[2]),
c(icy-h ,icy+h ,icy ,icy ,icy+h ,icy-h ),
lwd=2, col=friendlycolor(3))
# media amostral (ponto solido)
points(am,icy,pch=21,cex=1.5,col=friendlycolor(3),bg=friendlycolor(3))
# media populacional (ponto branco)
points(pm,icy-h,pch=21,cex=1.5,col=friendlycolor(7),bg="white")
A linha horizontal representa o intervalo de confianƧa 96% com halteres
nos limites que contém 95% da Ôrea sob a distribuição das médias
amostrais simuladas. O cĆrculo sólido estĆ” na posição da mĆ©dia das
mĆ©dias amostrais e o cĆrculo branco no da mĆ©dia populacional. O IC95 Ć©
aquele intervalo que, com confianƧa de 95%, contƩm a mƩdia
populacional.
Calcular \(EP = {s /\sqrt{n}}\) nada mais Ć© do que obter uma estimativa daquilo que seria conseguido no caso de um experimento irrealizĆ”vel (pois se pudĆ©ssemos fazer 1000 estudos com amostras de mesmo tamanho, seria melhor investir em um Ćŗnico estudo mais elaborado), do qual obterĆamos um nĆŗmero muito grande de amostras, cada qual com sua mĆ©dia, e calculĆ”ssemos o desvio-padrĆ£o das mĆ©dias amostrais. Como tal experimento Ć© uma fantasia, o apresentação desta equação costuma ter dois caminhos habituais e opostos: seu entendimento atravĆ©s de uma demonstração matemĆ”tica intransponĆvel para quem nĆ£o tem a formação adequada ou a dogmatização de sua existĆŖncia atravĆ©s de exibi-la sem explicação alguma. Ambas as estratĆ©gias escondem do pesquisador aplicado a natureza da relação entre \(s\) (estimador de \(\sigma\)) e \(EP\) (estimador pontual do desvio-padrĆ£o de infinitas mĆ©dias amostrais hipotĆ©ticas). Aqui oferecemos uma situação intermediĆ”ria com a experimentação atravĆ©s de simulaƧƵes.
Saindo da fantasia, vamos retomar a mesma população hipotética e obter dela uma única amostra:
plot.density.withmeansd(population,
main="Populacao simulada\n(amostra unica)",
xlab="Valores",
ylab="Densidade",
x.min=limits[1], x.max=limits[2],
y.min=limits[3], y.max=limits[4],
col=friendlycolor(7))
B2 <- 1
samples <- sampling(population,B=B2,
n=n,replace=FALSE,
graph=TRUE,col=friendlycolor(1))
amo.unique <- samples[[1]]
legend("right",
c("Distribuicao",
"Media pop +-3 dp",
paste("amostras: ",B,sep=""),
"Media am. +-3 dp"
),
col=c(friendlycolor(7),
paste(friendlycolor(7),"88",sep=""),
friendlycolor(1),
paste(friendlycolor(1),"88",sep="")
),
lwd=c(2,10,2,10),
lty=c(1,1,1,1),
cex=0.7,
box.lwd=0, bg="transparent")
Nesta situação, a amostra captura informação (com imperfeição) da
população. Assim como é a população, esta amostra não tem distribuição
normal. Repare que os āpicosā e āvalesā existentes na distribuição
populacional foram incompletamente representados, mas a mƩdia e desvio
padrão amostrais são similares àqueles da população.
Ainda existe uma fantasia a eliminar: na prÔtica temos tão somente uma única amostra, sem a referência populacional:
# amostra unica
plot.density.withmeansd(amo.unique,
main="Amostra unica",
xlab="Valores",
ylab="Densidade",
x.min=limits[1], x.max=limits[2],
y.min=limits[3], y.max=limits[4],
col=friendlycolor(1))
legend("right",
c("Amostra",
"Media am. +-3 dp"
),
col=c(friendlycolor(1),
paste(friendlycolor(1),"88",sep="")
),
lwd=c(2,10),
lty=c(1,1),
cex=0.7,
box.lwd=0, bg="transparent")
Com base nesta amostra precisamos chegar a conclusƵes que possam ser
extrapoladas para a população de onde ela proveio. O procedimento
conhecido como bootstrapping Ć© uma possĆvel solução. Trata-se
de um processo similar ao anterior, com a diferenƧa de que faremos 1000
reamostragens com reposição de 36 elementos sobre a
Ćŗnica amostra de 36 elementos que temos para trabalhar.
O procedimento, sobre a amostra obtida da população fictĆcia, resulta em:
# bootstrapping
plot.density.withmeansd(amo.unique,
main="Amostra unica\n(bootstrapping)",
xlab="Valores",
ylab="Densidade",
x.min=limits[1], x.max=limits[2],
y.min=limits[3], y.max=limits[4],
col=friendlycolor(3))
samples <- sampling(amo.unique,B=B,
n=n,replace=TRUE,
graph=TRUE,col=friendlycolor(29))
boot.medias <- samples[[2]]
boot.sds <- samples[[3]]
legend("right",
c("Amostra unica",
"Media am. +-3 dp",
paste("bootstraps: ",B,sep=""),
"Media boot +-3 dp"
),
col=c(friendlycolor(3),
paste(friendlycolor(3),"88",sep=""),
friendlycolor(29),
paste(friendlycolor(29),"88",sep="")
),
lwd=c(2,10,2,10),
lty=c(1,1,1,1),
cex=0.7,
box.lwd=0, bg="transparent")
# distribuicao da amostra original, sobreposta para referencia
plot.density.singleline(amo.unique,col=friendlycolor(3))
Obtemos 1000 linhas representando 1000 reamostras de 36 indivĆduos, Ć s quais a distribuição da amostra original foi sobreposta. Observe que atĆ© mesmo os āpicosā e āvalesā da população original reapareceram entre as reamostras, apesar deste procedimento ter sido executado sem que os dados da população original fossem utilizados.
Como acontecia entre as amostras e a população, as reamostras seguem o perfil geral da amostra única que tomamos como ponto de partida. Na parte alta do grÔfico vemos que as médias da amostra original e a média das 1000 reamostras coincidem, e também o desvio-padrão da amostra original e a média dos desvios-padrão das 1000 reamostras. Numericamente:
um <- mean(amo.unique,na.rm=TRUE)
us <- sd(amo.unique,na.rm=TRUE)
bm <- mean(boot.medias,na.rm=TRUE)
bs <- mean(boot.sds,na.rm=TRUE)
v <- ""
v <- paste(v,"Amostra:\n")
v <- paste(v,"\tmedia amostral:",round(um,4),"\n")
v <- paste(v,"\tdp amostral:",round(us,4),"\n")
v <- paste(v,"\n")
v <- paste(v,"Reamostras:",B,"com n =",n,"\n")
v <- paste(v,"\tmedia das medias das reamostras:",round(bm,4),"\n")
v <- paste(v,"\tmedia dos dp da media das reamostras:",round(bs,4))
cat(v)
Amostra:
media amostral: 220.7004
dp amostral: 42.8547
Reamostras: 1000 com n = 36
media das medias das reamostras: 220.7082
media dos dp da media das reamostras: 42.0506
Novamente, observamos o comportamento da distribuição das médias das reamostras:
# distribuicao das medias das reamostras (deixando a escala livre)
plot.density.withmeansd(boot.medias,
main="Distribuicao de medias das reamostras\n(bootstrapping)",
xlab="Valores",
ylab="Densidade",
col=friendlycolor(29))
# ajustando distribuicao normal
um <- mean(amo.unique,na.rm=TRUE)
us <- sd(amo.unique,na.rm=TRUE)
bm <- mean(boot.medias,na.rm=TRUE)
ep <- sd(boot.medias,na.rm=TRUE)
x <- seq(bm-4*ep,bm+4*ep,length.out=100)
y <- dnorm(x, mean=bm, sd=ep)
lines(x,y,lty=2,lwd=2,col=friendlycolor(3))
# intervalo de confianca 95%
icx <- quantile(boot.medias,probs=c((1-0.95)/2,1-((1-0.95)/2)))
icy <- mean(y[which(round(x,0)==round(icx,0))],na.rm=TRUE)
h <- icy/5
lines(c(icx[1],icx[1],icx[1],icx[2],icx[2],icx[2]),
c(icy-h ,icy+h ,icy ,icy ,icy+h ,icy-h ),
lwd=2, col=friendlycolor(29))
# media das reamostras (ponto solido)
points(bm,icy,pch=21,cex=1.5,col=friendlycolor(29),bg=friendlycolor(29))
# media amostral (ponto solido)
points(um,icy-h,pch=21,cex=1.5,col=friendlycolor(3),bg=friendlycolor(3))
# media populacional (ponto branco)
points(pm,icy-2*h,pch=21,cex=1.5,col=friendlycolor(7),bg="white")
Como fizemos com o exemplo do sampling, a linha horizontal
representa o intervalo de confianƧa 95% com halteres indicando os
limites de 95% da Ôrea sob a curva da distribuição das médias das
reamostras. O cĆrculo sólido na mesma cor da distribuição estĆ” na
posição da mĆ©dia das mĆ©dias das reamostras, mas adicionamos um cĆrculo
sólido na posição da mĆ©dia da amostra original e um cĆrculo branco no da
média populacional. Esta última, na prÔtica, não conheceremos; por este
motivo, precisamos estimar o IC95, um intervalo para o qual temos 95% de
confianƧa em conter a mƩdia populacional (com sucesso, neste
exemplo).
A distribuição das médias das reamostras é normal (apesar da amostra não o ser) com média igual à da amostra original e desvio-padrão dado por \(EP=s/\sqrt{n}\), verificado numericamente nesta simulação:
um <- mean(amo.unique,na.rm=TRUE)
us <- sd(amo.unique,na.rm=TRUE)
bm <- mean(boot.medias,na.rm=TRUE)
ep <- sd(boot.medias,na.rm=TRUE)
v <- ""
v <- paste(v,"Amostra:\n")
v <- paste(v,"\tmedia da amostra:",round(um,4),"\n")
v <- paste(v,"\tdp da amostra:",round(us,4))
v <- paste(v,"\n")
v <- paste(v,"Reamostras:",B,"com n =",n,"\n")
v <- paste(v,"\tmedia das medias das reamostrais:",round(bm,4),"\n")
v <- paste(v,"\tdp das medias das reamostras:",round(ep,4))
cat(v)
Amostra:
media da amostra: 220.7004
dp da amostra: 42.8547
Reamostras: 1000 com n = 36
media das medias das reamostrais: 220.7082
dp das medias das reamostras: 7.2795
Neste caso temos o desvio-padrão da amostra us=42.8547
e
o desvio padrão das 1000 médias das reamostras ep=7.2795
.
Podemos conferir que us/ep=5.8870389
é valor próximo a
sqrt(36)=6
. A concordância talvez fosse melhor se usÔssemos
um bootstrapping com mais reamostras; aqui exemplificamos, por
razƵes grƔficas, com 1000 reamostras, mas Ʃ recomendado que se aplique
entre 10000 (1e+04) e 1000000 (1e+06) reamostras para fins de decisão
estatĆstica.
O bootstrapping Ć© um procedimento sempre possĆvel com o uso de computadores, de certa forma capturando o experimento imaginĆ”rio da primeira parte deste exemplo e reconstituindo propriedades da população inalcanƧƔvel de onde a amostra proveio.
à necessÔrio, na Ôrea da saúde, que testes laboratoriais apresentem a faixa dos valores de referência para que seja verificado se o resultado pode ser considerado alterado.
A norma para a glicemia de jejum em adultos saudƔveis Ʃ computada a partir de uma amostra. Por exemplo, suponha:
Supondo que a distribuição da glicemia é aproximadamente normal, os laboratórios tradicionalmente estimam: o intervalo de predição 95% (IP95).
source ("eiras.numeric.summary.R")
glicemia <- c(5.5, 5.2, 5.2, 5.8, 5.6, 4.6,
5.6, 5.9, 4.7, 5.0, 5.7, 5.2)
n <- length(glicemia)
media <- mean(glicemia)
desvpad <- sd(glicemia)
qt <- qt(0.975, df=length(glicemia)-1)
lowerlimit <- media - qt * desvpad
upperlimit <- media + qt * desvpad
densidade <- density(glicemia)
skewness <- DescTools::Skew(glicemia)
curtose <- DescTools::Kurt(glicemia)
norm.x <- seq(from = min(densidade$x), to = max(densidade$x), length.out = 500)
norm.y <- dnorm(norm.x, mean=media, sd=desvpad)
ht <- dnorm(lowerlimit, mean=media, sd=desvpad)
plot (densidade,
main="Distribuição da Glicemia de Jejum",
xlab="Glicemia (mmol/l)", ylab="Densidade",
ylim=c(0,max(densidade$y,norm.y)), lwd=3)
lines(norm.x, norm.y, col="red", lty=2, lwd=2)
segments(lowerlimit, ht, upperlimit, ht, lwd=3, col= "brown")
lines(rep(as.numeric(lowerlimit),2),c(0,ht), lty=2, col= "brown")
lines(rep(as.numeric(upperlimit),2),c(0,ht), lty=2, col= "brown")
points(media,ht,pch=21,col="brown",bg="brown")
legend("topright",
c("Glicemia", "Normal"),
col=c("black", "red"),
lwd=c(3,2),
lty=c(1,2),
box.lwd=0, bg="transparent")
cat("Glicemia de jejum:\n")
cat("SumƔrio:\n")
sumario <- numeric.summary(glicemia)
print(sumario)
cat("MƩdia = ",media,"\n", sep="")
cat("Desvio-padrão = ",desvpad,"\n", sep="")
cat("Assimetria = ",skewness,"\n", sep="")
cat("Ex.curtose = ",curtose,"\n", sep="")
cat("\nIntervalo de predição:\n")
cat(" IP95=[",lowerlimit,",",upperlimit,"]\n",sep="")
obtendo:
Glicemia de jejum:
SumƔrio:
Min. 1st Qu. Median 3rd Qu. Max. Mean St.Dev. n NA
4.6 5.15 5.35 5.625 5.9 5.333333 0.4206777 12 0
MƩdia = 5.333333
Desvio-padrão = 0.4206777
Assimetria = -0.354962
Ex.curtose = -1.289367
Intervalo de predição:
IP95=[4.407428,6.259239]
Então a faixa de valores considerados normais vão de 4.4 a 6.3 mmol/l. Glicemia costuma ser considerada como variÔvel que tem distribuição normal.
Nesta amostra reduzida, porĆ©m, apenas por inspeção visual, a distribuição nĆ£o parece normal. Pelas medidas diretas, feitas nesta amostra, a distribuição Ć© assimĆ©trica Ć esquerda e platicĆŗrtica. Caso estivĆ©ssemos na situação em que somente pudĆ©ssemos acessar estes 12 voluntĆ”rios, a saĆda Ć© utilizar mĆ©todos mais robustos.
Um código para verificar normalidade, simetria e unimodalidade atravĆ©s de testes estatĆsticos antes de calcular intervalos centrados na mĆ©dia, optando por variantes no caso de uma das suposiƧƵes nĆ£o ser atendida, Ć©:
library(lawstat)
library(diptest)
alfa <- 0.05
glicemia <- c(5.5, 5.2, 5.2, 5.8, 5.6, 4.6,
5.6, 5.9, 4.7, 5.0, 5.7, 5.2)
m <- mean(glicemia)
s <- sd(glicemia)
print(ressw <- shapiro.test(glicemia)) # teste de unimormalidade
print(ressim <- lawstat::symmetry.test(sort(glicemia),option="MGG",boot=T,B=1e4))
print(resdip <- diptest::dip.test(sort(glicemia),simulate.p.value=T,B=1e4)) # Hartigans' Dip Test for Unimodality
cat("Distribuicao da glicemia:\n")
if (ressw$p.value>alfa)
{cat("\tNormal (Shapiro-Wilk test)\n")} else
{cat("\tNao-normal (Shapiro-Wilk test)\n")}
if (ressim$p.value>alfa)
{cat("\tSimetrica (bootstrap Miao et al symmetry test)\n")} else
{cat("\tAssimetrica (bootstrap Miao et al symmetry test)\n")}
if (resdip$p.value>alfa)
{cat("\tUnimodal (bootstrap Hartigans dip test for unimodality)\n\n")} else
{cat("\tNao-unimodal (bootstrap Hartigans dip test for unimodality)\n\n")}
cat("Intervalo de predicao de 95 simetrico centrado na media\n")
iqr <- IQR(glicemia,na.rm=TRUE)
notfound <- TRUE
if (ressw$p.value>alfa) {
k <- qt(1-alfa/2, df=length(glicemia)-1)
ipnome <- "Normal"
notfound <- FALSE
}
if (notfound && ressw$p.value<=alfa && resdip$p.value>alfa && ressim$p.value>alfa) {
k <- (2/3)*sqrt(1/alfa)
ipnome <- "Gauss-Camp-Meidell unimodal simetrica nao-normal"
notfound <- FALSE
}
if (notfound && ressw$p.value<=alfa && resdip$p.value>alfa && ressim$p.value<=alfa) {
a <- abs(m-moda)/iqr
k <- a + (2/3)*sqrt((1-a^2)/alfa)
ipnome <- "Gauss-Camp-Meidell unimodal assimetrica nao-normal"
notfound <- FALSE
}
if (notfound) {
k <- sqrt(1/alfa)
ipnome <- "Chebychev para qualquer distribuicao"
}
lb95pi <- m - k*s
ub95pi <- m + k*s
cat("Intervalo de Predicao (IP)\n")
cat(" IP95 de ",ipnome, " = [",lb95pi,",",ub95pi,"]\n", sep="")
obtendo:
Results of Hypothesis Test
--------------------------
Alternative Hypothesis:
Test Name: Shapiro-Wilk normality test
Data: glicemia
Test Statistic: W = 0.9380164
P-value: 0.4728106
Results of Hypothesis Test
--------------------------
Alternative Hypothesis: the distribution is asymmetric.
Test Name: m-out-of-n bootstrap symmetry test by Miao, Gel, and Gastwirth (2006)
Estimated Parameter(s): bootstrap optimal m = 11
Data: sort(glicemia)
Test Statistic: Test statistic = -0.1742091
P-value: 0.9312
Results of Hypothesis Test
--------------------------
Alternative Hypothesis: non-unimodal, i.e., at least bimodal
Test Name: Hartigans' dip test for unimodality / multimodality with simulated p-value
(based on 10000 replicates)
Data: sort(glicemia)
Test Statistic: D = 0.1071429
P-value: 0.2354
Distribuicao da glicemia:
Normal (Shapiro-Wilk test)
Simetrica (bootstrap Miao et al symmetry test)
Unimodal (bootstrap Hartigans dip test for unimodality)
Intervalo de predicao de 95 simetrico centrado na media
Intervalo de Predicao (IP)
IP95 de Normal = [4.407428,6.259239]
Neste caso, de acordo com os testes estatĆstico, foi calculado o intervalo com base na distribuição normal. As outras alternativas que este código poderia utilizar sĆ£o
Outra possibilidade Ć© o highest density interval (HDI):
library("HDInterval")
alfa <- 0.05
valores <- c(5.5, 5.2, 5.2, 5.8, 5.6, 4.6,
5.6, 5.9, 4.7, 5.0, 5.7, 5.2)
# HDI com outlier
densidade <- density(valores,na.rm=TRUE)
plot (densidade,
main="Distribuição da Glicemia de Jejum",
xlab="Glicemia (mmol/l)", ylab="Densidade",
lwd=2)
hdir1 <- HDInterval::hdi(densidade, credMass=1-alfa)
ht <- attr(hdir1, "height")
HDIll1 <- hdir1[1]
HDIul1 <- hdir1[2]
cat("Intervalo de predição:\n")
cat(" HDI95 = [",HDIll1,",",HDIul1,"]\n", sep="")
segments(HDIll1, ht, HDIul1, ht, lwd=3, col= "blue")
lines(rep(as.numeric(HDIll1),2),c(0,ht), lty=2, col= "blue")
lines(rep(as.numeric(HDIul1),2),c(0,ht), lty=2, col= "blue")
obtendo:
Intervalo de predição:
HDI95 = [4.451805,6.081956]
Compare os intervalos. O anterior (IP95=[4.4,6.3] ) supõe normalidade e é centrado na média amostral. Alternativamente, o HDI é o menor intervalo de predição de 95% não centrado na média: somando-se as Ôreas à esquerda e à direita das duas linhas verticais encontraremos 5% da Ôrea sob a curva.
Esta sessão serve para ajudÔ-lo a encontrar formatos grÔficos para adaptar para seu caso, mostrando capacidades do R em gerÔ-los com maior facilidade e flexibilidade do que aquela encontrada em outros softwares.
HÔ muitas funções de diversos pacotes para fazer grÔficos em R. Muitas delas adotaram os mesmos nomes de parâmetros.
Cores, por exemplo, (parâmetro col
em muitas funƧƵes)
aceita nomes de cores prĆ©-definidos (āwhiteā, āblackā, āredā,
ādarkgreenā, etc.) ou no formato ā#RRGGBBTTā (red, green, blue,
transparĆŖncia).
Existem outros como pch
para definir o sĆmbolo dos
pontos, lty
para definir o padrão das linhas e
lwd
para definir a espessura das linhas.
O tĆtulo dos graficos sĆ£o colocados com main=āTĆtulo escrito
aquiā
e os nomes dos eixos com xlab=āNome no eixo xā
e ylab=āNome no eixo yā
. As escalas do grƔfico geralmente
são definidas como xlim=c(min,max)
e
ylim=c(min,max)
.
Muitas das funções têm defaults e colocam elementos no grÔfico, sem que o usuÔrio precise pedi-los.
faixaetaria <- sort(factor(c("Idoso", "Idoso", "Idoso", "Idoso",
"Adulto", "Adulto", "Adulto", "Jovem")))
rotulo <- unique(faixaetaria)
freq <- summary(faixaetaria)
dt_tmp <- data.frame(c(2,3,1),rotulo,freq)
names(dt_tmp) <- c("ordem","rotulo","freq")
dt_tmp <- dt_tmp[order(dt_tmp$ordem),]
pie(dt_tmp$freq,
label = dt_tmp$rotulo,
main = "Grafico de setores",
xlab = "Faixa Etaria",
col = gray(seq(0.4,1.0,
length = length(dt_tmp$rotulo))))
Qualquer grƔfico, em vez de ser mostrado na tela, pode ser salvo em disco. Basta colocar antes e depois do ponto do Rscript que exibe o grƔfico:
png(āGraficoSetores.pngā)
|
faixaetaria <- sort(factor(c("Idoso","Idoso","Idoso","Idoso",
"Adulto","Adulto","Adulto","Jovem")))
rotulo <- unique(faixaetaria)
freq <- summary(faixaetaria)
dt_tmp <- data.frame(c(2,3,1),rotulo,freq)
names(dt_tmp) <- c("ordem","rotulo","freq")
dt_tmp <- dt_tmp[order(dt_tmp$ordem),]
barplot(dt_tmp$freq,
main = "Grafico de barras",
xlab = "Faixa Etaria", ylab = "Frequencia Absoluta",
names.arg = dt_tmp$rotulo,
col = gray(seq(0.4,1.0,length = length(dt_tmp$rotulo))))
Caso pegue um data frame com sĆ©ries temporais, poderĆ” usar R para construir este tipo de vĆdeo, que talvez jĆ” tenham encontrado na Web: https://www.youtube.com/watch?v=IHF6A5Tri1U&feature=youtu.be
Veja diversas possibilidades em Plot Grouped Data: Box plot, Bar Plot and More. Por exemplo:
mes <- c("Jan", "Fev", "Mar", "Abr", "Mai", "Jun",
"Jul", "Ago", "Set", "Out", "Nov", "Dez")
mes_num <- 1:length(mes)
high_NYC2014 <- c(28.8, 28.5, 37.0, 56.8, 69.7, 79.7, 78.5, 77.8, 74.1, 62.6, 45.3, 39.9)
low_NYC2014 <- c(12.7, 14.3, 18.6, 35.5, 49.9, 58.0, 60.0, 58.6, 51.7, 45.2, 32.2, 29.1)
dados <- data.frame(mes, high_NYC2014, low_NYC2014)
minx <- min(mes_num, na.rm=TRUE)
maxx <- max(mes_num, na.rm=TRUE)
miny <- min(high_NYC2014, low_NYC2014, na.rm=TRUE)
maxy <- max(high_NYC2014, low_NYC2014, na.rm=TRUE)
plot(NA, NA,
main = "Temperaturas altas e baixas mƩdias em NYC-2014",
xlim=c(minx,maxx), ylim=c(miny,maxy),
xaxt="n", yaxt="n",
xlab = "Mes",
ylab = "Temperatura (F)")
# x axis
axis(side=1, at=c(minx-1,maxx+1), labels = FALSE)
text(x=mes_num, par("usr")[3],
labels = mes, srt = 30, pos = 1, xpd = TRUE)
# y axis
axis(side=2, las=1)
# high temps
high_cor <- "red"
high_lty <- 2
lines(mes_num,high_NYC2014,lwd=2,lty=high_lty,col=high_cor)
points(mes_num,high_NYC2014,pch=25,col=high_cor,bg=high_cor)
# low temps
low_cor <- "blue"
low_lty <- 3
lines(mes_num,low_NYC2014,lwd=2,lty=low_lty,col=low_cor)
points(mes_num,low_NYC2014,pch=24,col=low_cor,bg=low_cor)
# high-low vertical lines
hl_x <- c()
hl_y <- c()
for (m in 1:length(mes))
{
hl_x <- c(hl_x, mes_num[m], mes_num[m] , NA)
hl_y <- c(hl_y, high_NYC2014[m], low_NYC2014[m], NA)
}
lines(hl_x,hl_y,lty=2, lwd=1,col="#888888")
# legenda
legend("topleft",
c("Maximas", "Minimas"),
col=c(high_cor,low_cor),
pt.bg=c(high_cor,low_cor),
pch=c(25,24),
lwd=c(2,2),
lty=c(high_lty,low_lty),
box.lwd=0, bg="transparent")
estatura <- as.integer(rnorm(n=50, mean=177, sd=10))
stripchart(estatura, method="stack", offset=0.5, at=0.15, pch=19,
xlab ="Estatura masculina (cm)", ylab ="Frequencia absoluta",
main="Dotplot")
set.seed(123)
Estatura.m <- as.integer(rnorm(n=50, mean=177, sd=10))
Estatura.f <- as.integer(rnorm(n=50, mean=165, sd=8))
stripchart(Estatura.m, method="stack",
offset=0.5, at=0.15,
pch=4, ylab="Contagem", xlab ="Estatura (cm)")
stripchart(Estatura.f, add=TRUE, method="stack",
offset=0.5, at=0.15, pch=1)
legend("topright",c("Masculina", "Feminina"),
pch=c(4,1))
estatura <- rnorm(n=50, mean=177, sd=10)
hist(estatura,
xlab ="Estatura masculina (cm)",
ylab ="Frequencia absoluta",
main="Histograma")
set.seed(123)
Estatura.m <- as.integer(rnorm(n=50, mean=177, sd=10))
Estatura.f <- as.integer(rnorm(n=50, mean=165, sd=8))
hist(Estatura.f, ylab="Contagem", xlab ="Estatura (cm)",
main="Estaturas dos adultos",
col="#88000044")
hist(Estatura.m, add=TRUE, col="#00008844")
legend("topleft",
c("Feminina","Masculina"),
pt.bg=c("#88000044","#00008844"),
pch=22
)
library(readxl)
suppressMessages(library(car, warn.conflicts = FALSE))
Dados <- readxl::read_excel("Adm2008.xlsx")
N <- min(sum(!is.na(Dados$Estatura[Dados$Genero=="Feminino"])),
Dados$MCT[Dados$Genero=="Feminino"])
car::scatterplot(MCT[Genero=="Feminino"] ~
Estatura[Genero=="Feminino"],
regLine=FALSE, smooth=FALSE, boxplots=FALSE,
jitter=list(x=1, y=1), col="black",
main=paste("Estudantes femininas de Administração 2008",
"\nN =",N),
xlab="Estatura (cm)",
ylab=" Massa Corporal Total (kg)",
data=Dados)
library(readxl)
suppressMessages(library(car, warn.conflicts = FALSE))
Dados <- readxl::read_excel("Adm2008.xlsx")
Dados$Genero <- as.factor(Dados$Genero)
car::scatterplot(MCT~Estatura|Genero,
regLine=FALSE, smooth=FALSE, ellipse=FALSE,
col=c("red","black"),
jitter=list(x=1, y=1),
xlab = "Estatura (m)",
ylab = "MCT (kg)",
data=Dados)
library(readxl)
suppressMessages(library(aplpack, warn.conflicts = FALSE))
Dados <- readxl::read_excel("Adm2008.xlsx")
head(Dados)
attach(Dados)
N <- min(sum(!is.na(Estatura[Genero=="Feminino"])),
MCT[Genero=="Feminino"])
aplpack::bagplot(Estatura[Genero=="Feminino"],
MCT[Genero=="Feminino"],
main=paste("Estudantes femininas de Administração Noturno FEA-USP 2008", "\nN =",N),
xlab="Estatura (m)",
ylab="Massa Corporal Total (kg)",
na.rm = TRUE)
estatura.masc <- rnorm(n=50, mean=177, sd=10)
plot(density(estatura.masc),
main="Grafico de densidade",
xlab="Estatura masculina (cm)", ylab="Densidade")
rug(estatura.masc)
library(readxl)
suppressMessages(library(car, warn.conflicts = FALSE))
Dados <- readxl::read_excel("Adm2008.xlsx")
car::densityPlot(Estatura~factor(Genero), data=Dados, bw=bw.SJ,
adjust=1, kernel=dnorm, method="adaptive")
library(readxl)
library(lattice)
TH <- readxl::read_excel("Sodio_2.xlsx")
TH$Instructor <- factor(TH$Instructor, levels=unique(TH$Instructor))
grafico <- lattice::xyplot(Sodium ~ Instructor, data=TH, type=c("p","a"),
jitter.x=TRUE, jitter.y=TRUE, col="black")
print(grafico)
$formula
Sodium ~ Instructor
$as.table
[1] FALSE
$aspect.fill
[1] TRUE
$legend
NULL
$panel
[1] "panel.xyplot"
$page
NULL
$layout
NULL
$skip
[1] FALSE
$strip
[1] FALSE
$strip.left
[1] FALSE
$xscale.components
function (lim, packet.number = 0, packet.list = NULL, top = TRUE,
...)
{
comps <- calculateAxisComponents(lim, packet.list = packet.list,
packet.number = packet.number, ...)
list(num.limit = comps$num.limit, bottom = list(ticks = list(at = comps$at,
tck = 1), labels = list(at = comps$at, labels = comps$labels,
check.overlap = comps$check.overlap)), top = top)
}
<bytecode: 0x0000014b8d7c10d0>
<environment: namespace:lattice>
$yscale.components
function (lim, packet.number = 0, packet.list = NULL, right = TRUE,
...)
{
comps <- calculateAxisComponents(lim, packet.list = packet.list,
packet.number = packet.number, ...)
list(num.limit = comps$num.limit, left = list(ticks = list(at = comps$at,
tck = 1), labels = list(at = comps$at, labels = comps$labels,
cex = 1, check.overlap = comps$check.overlap)), right = right)
}
<bytecode: 0x0000014b8d807a00>
<environment: namespace:lattice>
$axis
function (side = c("top", "bottom", "left", "right"), scales,
components, as.table, labels = c("default", "yes", "no"),
ticks = c("default", "yes", "no"), ..., prefix = lattice.getStatus("current.prefix"))
{
side <- match.arg(side)
labels <- match.arg(labels)
ticks <- match.arg(ticks)
row <- lattice.getStatus("current.focus.row", prefix = prefix)
column <- lattice.getStatus("current.focus.column", prefix = prefix)
panel.layout <- trellis.currentLayout("panel", prefix = prefix)
layout.dim <- dim(panel.layout)
determineStatus <- function(x) {
if (is.null(x) || (is.logical(x) && !x))
FALSE
else TRUE
}
lastPanel <- function() {
((pn <- panel.number(prefix = prefix)) > 0 && pn == max(panel.layout))
}
atBoundary <- function() {
switch(side, top = if (as.table) row == 1 else row ==
layout.dim[1], bottom = if (!as.table) row == 1 else row ==
layout.dim[1], left = column == 1, right = column ==
layout.dim[2] || lastPanel())
}
do.ticks <- switch(ticks, yes = TRUE, no = FALSE, default = scales$draw &&
determineStatus(components[[side]]) && (if (scales$relation ==
"same") atBoundary() else TRUE))
do.labels <- switch(labels, yes = TRUE, no = FALSE, default = scales$draw &&
(if (scales$relation == "same") {
atBoundary() && switch(side, top = rep(scales$alternating,
length.out = column)[column] %in% c(2, 3), bottom = rep(scales$alternating,
length.out = column)[column] %in% c(1, 3), left = rep(scales$alternating,
length.out = row)[row] %in% c(1, 3), right = rep(scales$alternating,
length.out = row)[row] %in% c(2, 3))
} else TRUE))
if (do.ticks || do.labels) {
comp.list <- switch(side, top = if (is.logical(components[["top"]]) &&
components[["top"]]) components[["bottom"]] else components[["top"]],
bottom = components[["bottom"]], left = components[["left"]],
right = if (is.logical(components[["right"]]) &&
components[["right"]]) components[["left"]] else components[["right"]])
scales.tck <- switch(side, left = , bottom = scales$tck[1],
right = , top = scales$tck[2])
if (!is.logical(comp.list)) {
if (do.ticks)
panel.axis(side = side, at = comp.list$ticks$at,
labels = FALSE, draw.labels = FALSE, check.overlap = FALSE,
outside = TRUE, ticks = TRUE, tck = scales.tck *
comp.list$ticks$tck, ...)
if (do.labels)
panel.axis(side = side, at = comp.list$labels$at,
labels = comp.list$labels$labels, draw.labels = TRUE,
check.overlap = comp.list$labels$check.overlap,
outside = TRUE, ticks = FALSE, tck = scales.tck *
comp.list$ticks$tck, ...)
}
}
}
<bytecode: 0x0000014b8d806490>
<environment: namespace:lattice>
$xlab
[1] "Instructor"
$ylab
[1] "Sodium"
$xlab.default
[1] "Instructor"
$ylab.default
[1] "Sodium"
$xlab.top
NULL
$ylab.right
NULL
$main
NULL
$sub
NULL
$x.between
[1] 0
$y.between
[1] 0
$par.settings
NULL
$plot.args
NULL
$lattice.options
NULL
$par.strip.text
NULL
$index.cond
$index.cond[[1]]
[1] 1
$perm.cond
[1] 1
$condlevels
$condlevels[[1]]
[1] "1"
$call
xyplot(Sodium ~ Instructor, data = TH, type = c("p", "a"), jitter.x = TRUE,
jitter.y = TRUE, col = "black")
$x.scales
$x.scales$draw
[1] TRUE
$x.scales$axs
[1] "r"
$x.scales$tck
[1] 1 1
$x.scales$tick.number
[1] 5
$x.scales$at
[1] FALSE
$x.scales$labels
[1] FALSE
$x.scales$log
[1] FALSE
$x.scales$alternating
[1] 1 2
$x.scales$relation
[1] "same"
$x.scales$abbreviate
[1] FALSE
$x.scales$minlength
[1] 4
$x.scales$limits
NULL
$x.scales$format
NULL
$x.scales$equispaced.log
[1] TRUE
$x.scales$lty
[1] FALSE
$x.scales$lwd
[1] FALSE
$x.scales$cex
[1] FALSE FALSE
$x.scales$rot
[1] FALSE FALSE
$x.scales$col
[1] FALSE
$x.scales$col.line
[1] FALSE
$x.scales$alpha
[1] FALSE
$x.scales$alpha.line
[1] FALSE
$x.scales$font
[1] FALSE
$x.scales$fontfamily
[1] FALSE
$x.scales$fontface
[1] FALSE
$x.scales$lineheight
[1] FALSE
$y.scales
$y.scales$draw
[1] TRUE
$y.scales$axs
[1] "r"
$y.scales$tck
[1] 1 1
$y.scales$tick.number
[1] 5
$y.scales$at
[1] FALSE
$y.scales$labels
[1] FALSE
$y.scales$log
[1] FALSE
$y.scales$alternating
[1] 1 2
$y.scales$relation
[1] "same"
$y.scales$abbreviate
[1] FALSE
$y.scales$minlength
[1] 4
$y.scales$limits
NULL
$y.scales$format
NULL
$y.scales$equispaced.log
[1] TRUE
$y.scales$lty
[1] FALSE
$y.scales$lwd
[1] FALSE
$y.scales$cex
[1] FALSE FALSE
$y.scales$rot
[1] FALSE FALSE
$y.scales$col
[1] FALSE
$y.scales$col.line
[1] FALSE
$y.scales$alpha
[1] FALSE
$y.scales$alpha.line
[1] FALSE
$y.scales$font
[1] FALSE
$y.scales$fontfamily
[1] FALSE
$y.scales$fontface
[1] FALSE
$y.scales$lineheight
[1] FALSE
$panel.args.common
$panel.args.common$type
[1] "p" "a"
$panel.args.common$jitter.x
[1] TRUE
$panel.args.common$jitter.y
[1] TRUE
$panel.args.common$col
[1] "black"
$panel.args
$panel.args[[1]]
$panel.args[[1]]$x
[1] Brendon Small Brendon Small Brendon Small Brendon Small Brendon Small
[6] Brendon Small Brendon Small Brendon Small Brendon Small Brendon Small
[11] Brendon Small Brendon Small Brendon Small Brendon Small Brendon Small
[16] Brendon Small Brendon Small Brendon Small Brendon Small Brendon Small
[21] Coach McGuirk Coach McGuirk Coach McGuirk Coach McGuirk Coach McGuirk
[26] Coach McGuirk Coach McGuirk Coach McGuirk Coach McGuirk Coach McGuirk
[31] Coach McGuirk Coach McGuirk Coach McGuirk Coach McGuirk Coach McGuirk
[36] Coach McGuirk Coach McGuirk Coach McGuirk Coach McGuirk Coach McGuirk
Levels: Brendon Small Coach McGuirk
$panel.args[[1]]$y
[1] 1200 1400 1350 950 1400 1150 1300 1325 1425 1500 1250 1150 950 1150 1600
[16] 1300 1050 1300 1700 1300 1100 1200 1250 1050 1200 1250 1350 1350 1325 1525
[31] 1225 1125 1000 1125 1400 1200 1150 1400 1500 1200
$packet.sizes
[1] 40
$x.limits
[1] "Brendon Small" "Coach McGuirk"
$y.limits
[1] 897.5 1752.5
$x.used.at
NULL
$y.used.at
NULL
$x.num.limit
NULL
$y.num.limit
NULL
$aspect.ratio
[1] 1
$prepanel.default
[1] "prepanel.default.xyplot"
$prepanel
NULL
attr(,"class")
[1] "trellis"
# Intervalo de confianƧa de 95% da mƩdia populacional
suppressMessages(library(sandwich, warn.conflicts = FALSE))
suppressMessages(library(car, warn.conflicts = FALSE))
library(RcmdrMisc)
suppressMessages(library(gplots, warn.conflicts = FALSE))
estatura <- c(176, 183, 173, 191, 157, 152, 174, 166)
genero <- factor(c("M", "M", "M", "M", "F", "F", "F", "F"))
tabela <- data.frame(estatura, genero)
with(tabela, RcmdrMisc::plotMeans(estatura, genero, connect=FALSE,
xlab="Genero", ylab="Estatura", main="IC95%"))
with(tabela, gplots::plotmeans(estatura ~ genero, connect=FALSE,
xlab="Genero", ylab="Estatura", main="IC95%",
barcol="black"))
suppressMessages(library(sandwich, warn.conflicts = FALSE))
suppressMessages(library(car, warn.conflicts = FALSE))
library(RcmdrMisc)
with(datasets::ToothGrowth,
RcmdrMisc::plotMeans(len, supp, as.factor(dose),
error.bars="conf.int", level=.95, connect=FALSE,
xlab="Suppliment", ylab="Lenght", main="CI95%",
legend.pos="top"))
with(datasets::ToothGrowth,
RcmdrMisc::plotMeans(len, as.factor(dose), supp,
error.bars="conf.int", level=.95, connect=FALSE,
xlab="Suppliment", ylab="Lenght", main="CI95%",
legend.pos="topleft"))
boxplot(len~dose*supp,
data=datasets::ToothGrowth,
main="Tooth Growth", xlab="Suppliment and Dose", ylab="Length")
boxplot(len~supp*dose,
data=datasets::ToothGrowth,
main="Tooth Growth", xlab="Suppliment and Dose", ylab="Length")
suppressMessages(library(psych, warn.conflicts = FALSE))
suppressMessages(library(likert, warn.conflicts = FALSE))
Input <- ("
Pooh Leitao Tigrao
3 2 4
5 4 4
4 2 4
4 2 4
4 1 5
4 2 3
4 3 5
4 2 4
5 2 4
5 3 3
")
Dados <- read.table(textConnection(Input),header=TRUE)
Dados$Pooh <- factor(Dados$Pooh,
levels = c("1", "2", "3", "4", "5"),
ordered = TRUE)
Dados$Leitao <- factor(Dados$Leitao,
levels = c("1", "2", "3", "4", "5"),
ordered = TRUE)
Dados$Tigrao <- factor(Dados$Tigrao,
levels = c("1", "2", "3", "4", "5"),
ordered = TRUE)
psych::headTail(Dados)
print(str(Dados))
print(summary(Dados))
print(likert::likert(Dados)) # Percent responses in each group
out <- likert::likert(Dados)
print(summary(out))
print(plot(out,type="bar"))
print(plot(out,type="heat",low.color = "white",high.color = "blue",
text.color = "black",text.size = 4,wrap = 50))
print(plot(out,type="density",facet = TRUE,bw = 0.5))
'data.frame': 10 obs. of 3 variables:
$ Pooh : Ord.factor w/ 5 levels "1"<"2"<"3"<"4"<..: 3 5 4 4 4 4 4 4 5 5
$ Leitao: Ord.factor w/ 5 levels "1"<"2"<"3"<"4"<..: 2 4 2 2 1 2 3 2 2 3
$ Tigrao: Ord.factor w/ 5 levels "1"<"2"<"3"<"4"<..: 4 4 4 4 5 3 5 4 4 3
NULL
Pooh Leitao Tigrao
1:0 1:1 1:0
2:0 2:6 2:0
3:1 3:2 3:2
4:6 4:1 4:6
5:3 5:0 5:2
$results
Item 1 2 3 4 5
1 Pooh 0 0 10 60 30
2 Leitao 10 60 20 10 0
3 Tigrao 0 0 20 60 20
$items
Pooh Leitao Tigrao
1 3 2 4
2 5 4 4
3 4 2 4
4 4 2 4
5 4 1 5
6 4 2 3
7 4 3 5
8 4 2 4
9 5 2 4
10 5 3 3
$grouping
NULL
$factors
NULL
$nlevels
[1] 5
$levels
[1] "1" "2" "3" "4" "5"
attr(,"class")
[1] "likert"
Item low neutral high mean sd
1 Pooh 0 10 90 4.2 0.6324555
3 Tigrao 0 20 80 4.0 0.6666667
2 Leitao 70 20 10 2.3 0.8232726
$data
Item variable value
1 Pooh 1 0
2 Leitao 1 -10
3 Tigrao 1 0
4 Pooh 2 0
5 Leitao 2 -60
6 Tigrao 2 0
7 Pooh 3 5
8 Leitao 3 10
9 Tigrao 3 10
10 Pooh 4 60
11 Leitao 4 10
12 Tigrao 4 60
13 Pooh 5 30
14 Leitao 5 0
15 Tigrao 5 20
71 Pooh 3 -5
81 Leitao 3 -10
91 Tigrao 3 -10
$layers
$layers[[1]]
mapping: yintercept = ~yintercept
geom_hline: na.rm = FALSE
stat_identity: na.rm = FALSE
position_identity
$layers[[2]]
mapping: fill = ~variable
geom_bar: just = 0.5, width = NULL, na.rm = FALSE, orientation = NA
stat_identity: na.rm = FALSE
position_stack
$layers[[3]]
mapping: fill = ~variable
geom_bar: just = 0.5, width = NULL, na.rm = FALSE, orientation = NA
stat_identity: na.rm = FALSE
position_stack
$layers[[4]]
mapping: x = ~Item, label = ~paste0(round(low), "%")
geom_text: parse = FALSE, check_overlap = FALSE, size.unit = mm, na.rm = FALSE
stat_identity: na.rm = FALSE
position_identity
$layers[[5]]
mapping: x = ~Item, label = ~paste0(round(high), "%")
geom_text: parse = FALSE, check_overlap = FALSE, size.unit = mm, na.rm = FALSE
stat_identity: na.rm = FALSE
position_identity
$layers[[6]]
mapping: x = ~Item, label = ~paste0(round(neutral), "%")
geom_text: parse = FALSE, check_overlap = FALSE, size.unit = mm, na.rm = FALSE
stat_identity: na.rm = FALSE
position_identity
$scales
<ggproto object: Class ScalesList, gg>
add: function
add_defaults: function
add_missing: function
backtransform_df: function
clone: function
find: function
get_scales: function
has_scale: function
input: function
map_df: function
n: function
non_position_scales: function
scales: list
train_df: function
transform_df: function
super: <ggproto object: Class ScalesList, gg>
$guides
<Guides[0] ggproto object>
<empty>
$mapping
Aesthetic mapping:
* `x` -> `Item`
* `y` -> `value`
* `group` -> `Item`
$theme
$theme$axis.ticks
list()
- attr(*, "class")= chr [1:2] "element_blank" "element"
$theme$legend.position
[1] "bottom"
$theme$panel.background
List of 5
$ fill : logi NA
$ colour : chr "grey70"
$ linewidth : num 1
$ linetype : NULL
$ inherit.blank: logi FALSE
- attr(*, "class")= chr [1:2] "element_rect" "element"
attr(,"complete")
[1] FALSE
attr(,"validate")
[1] TRUE
$coordinates
<ggproto object: Class CoordFlip, CoordCartesian, Coord, gg>
aspect: function
backtransform_range: function
clip: on
default: FALSE
distance: function
expand: TRUE
is_free: function
is_linear: function
labels: function
limits: list
modify_scales: function
range: function
render_axis_h: function
render_axis_v: function
render_bg: function
render_fg: function
setup_data: function
setup_layout: function
setup_panel_guides: function
setup_panel_params: function
setup_params: function
train_panel_guides: function
transform: function
super: <ggproto object: Class CoordFlip, CoordCartesian, Coord, gg>
$facet
<ggproto object: Class FacetNull, Facet, gg>
compute_layout: function
draw_back: function
draw_front: function
draw_labels: function
draw_panels: function
finish_data: function
init_scales: function
map_data: function
params: list
setup_data: function
setup_params: function
shrink: TRUE
train_scales: function
vars: function
super: <ggproto object: Class FacetNull, Facet, gg>
$plot_env
<environment: 0x0000014ba309d9a8>
$layout
<ggproto object: Class Layout, gg>
coord: NULL
coord_params: list
facet: NULL
facet_params: list
finish_data: function
get_scales: function
layout: NULL
map_position: function
panel_params: NULL
panel_scales_x: NULL
panel_scales_y: NULL
render: function
render_labels: function
reset_scales: function
resolve_label: function
setup: function
setup_panel_guides: function
setup_panel_params: function
train_position: function
super: <ggproto object: Class Layout, gg>
$labels
$labels$x
[1] ""
$labels$y
[1] "Percentage"
$labels$group
[1] "Item"
$labels$yintercept
[1] "yintercept"
$labels$fill
[1] "variable"
$labels$label
[1] "paste0(round(low), \"%\")"
attr(,"class")
[1] "likert.bar.plot" "gg" "ggplot"
attr(,"item.order")
[1] "Leitao" "Tigrao" "Pooh"
$data
Item variable value label
1 Pooh Mean (SD) -100 4.2 (0.63)
2 Tigrao Mean (SD) -100 4.0 (0.67)
3 Leitao Mean (SD) -100 2.3 (0.82)
4 Pooh 1 0 0%
5 Leitao 1 10 10%
6 Tigrao 1 0 0%
7 Pooh 2 0 0%
8 Leitao 2 60 60%
9 Tigrao 2 0 0%
10 Pooh 3 10 10%
11 Leitao 3 20 20%
12 Tigrao 3 20 20%
13 Pooh 4 60 60%
14 Leitao 4 10 10%
15 Tigrao 4 60 60%
16 Pooh 5 30 30%
17 Leitao 5 0 0%
18 Tigrao 5 20 20%
$layers
$layers[[1]]
geom_tile: linejoin = mitre, na.rm = FALSE
stat_identity: na.rm = FALSE
position_identity
$layers[[2]]
geom_text: parse = FALSE, check_overlap = FALSE, size.unit = mm, na.rm = FALSE
stat_identity: na.rm = FALSE
position_identity
$scales
<ggproto object: Class ScalesList, gg>
add: function
add_defaults: function
add_missing: function
backtransform_df: function
clone: function
find: function
get_scales: function
has_scale: function
input: function
map_df: function
n: function
non_position_scales: function
scales: list
train_df: function
transform_df: function
super: <ggproto object: Class ScalesList, gg>
$guides
<Guides[0] ggproto object>
<empty>
$mapping
Aesthetic mapping:
* `x` -> `Item`
* `y` -> `variable`
* `fill` -> `value`
* `label` -> `label`
$theme
$theme$axis.ticks
list()
- attr(*, "class")= chr [1:2] "element_blank" "element"
$theme$panel.background
List of 5
$ fill : logi NA
$ colour : chr "grey70"
$ linewidth : num 1
$ linetype : NULL
$ inherit.blank: logi FALSE
- attr(*, "class")= chr [1:2] "element_rect" "element"
$theme$panel.grid.major
list()
- attr(*, "class")= chr [1:2] "element_blank" "element"
$theme$panel.grid.minor
list()
- attr(*, "class")= chr [1:2] "element_blank" "element"
attr(,"complete")
[1] FALSE
attr(,"validate")
[1] TRUE
$coordinates
<ggproto object: Class CoordFlip, CoordCartesian, Coord, gg>
aspect: function
backtransform_range: function
clip: on
default: FALSE
distance: function
expand: TRUE
is_free: function
is_linear: function
labels: function
limits: list
modify_scales: function
range: function
render_axis_h: function
render_axis_v: function
render_bg: function
render_fg: function
setup_data: function
setup_layout: function
setup_panel_guides: function
setup_panel_params: function
setup_params: function
train_panel_guides: function
transform: function
super: <ggproto object: Class CoordFlip, CoordCartesian, Coord, gg>
$facet
<ggproto object: Class FacetNull, Facet, gg>
compute_layout: function
draw_back: function
draw_front: function
draw_labels: function
draw_panels: function
finish_data: function
init_scales: function
map_data: function
params: list
setup_data: function
setup_params: function
shrink: TRUE
train_scales: function
vars: function
super: <ggproto object: Class FacetNull, Facet, gg>
$plot_env
<environment: 0x0000014ba977bdc0>
$layout
<ggproto object: Class Layout, gg>
coord: NULL
coord_params: list
facet: NULL
facet_params: list
finish_data: function
get_scales: function
layout: NULL
map_position: function
panel_params: NULL
panel_scales_x: NULL
panel_scales_y: NULL
render: function
render_labels: function
reset_scales: function
resolve_label: function
setup: function
setup_panel_guides: function
setup_panel_params: function
train_position: function
super: <ggproto object: Class Layout, gg>
$labels
$labels$y
[1] ""
$labels$x
[1] ""
$labels$fill
[1] "value"
$labels$label
[1] "label"
attr(,"class")
[1] "likert.heat.plot" "gg" "ggplot"
$data
Item x y
1 Pooh 1.500000000 0.0008901437
2 Pooh 1.509784736 0.0009431587
3 Pooh 1.519569472 0.0010002525
4 Pooh 1.529354207 0.0010595517
5 Pooh 1.539138943 0.0011221588
6 Pooh 1.548923679 0.0011883373
7 Pooh 1.558708415 0.0012568966
8 Pooh 1.568493151 0.0013305886
9 Pooh 1.578277886 0.0014055637
10 Pooh 1.588062622 0.0014874429
11 Pooh 1.597847358 0.0015708058
12 Pooh 1.607632094 0.0016601029
13 Pooh 1.617416830 0.0017525826
14 Pooh 1.627201566 0.0018498362
15 Pooh 1.636986301 0.0019522020
16 Pooh 1.646771037 0.0020579760
17 Pooh 1.656555773 0.0021710372
18 Pooh 1.666340509 0.0022859203
19 Pooh 1.676125245 0.0024105255
20 Pooh 1.685909980 0.0025372026
21 Pooh 1.695694716 0.0026721670
22 Pooh 1.705479452 0.0028115392
23 Pooh 1.715264188 0.0029575229
24 Pooh 1.725048924 0.0031105275
25 Pooh 1.734833659 0.0032682127
26 Pooh 1.744618395 0.0034358217
27 Pooh 1.754403131 0.0036059117
28 Pooh 1.764187867 0.0037891291
29 Pooh 1.773972603 0.0039751201
30 Pooh 1.783757339 0.0041722057
31 Pooh 1.793542074 0.0043751414
32 Pooh 1.803326810 0.0045868522
33 Pooh 1.813111546 0.0048078007
34 Pooh 1.822896282 0.0050349077
35 Pooh 1.832681018 0.0052749581
36 Pooh 1.842465753 0.0055182443
37 Pooh 1.852250489 0.0057785020
38 Pooh 1.862035225 0.0060423139
39 Pooh 1.871819961 0.0063203424
40 Pooh 1.881604697 0.0066058003
41 Pooh 1.891389432 0.0069024025
42 Pooh 1.901174168 0.0072106311
43 Pooh 1.910958904 0.0075266108
44 Pooh 1.920743640 0.0078587336
45 Pooh 1.930528376 0.0081948922
46 Pooh 1.940313112 0.0085520253
47 Pooh 1.950097847 0.0089135106
48 Pooh 1.959882583 0.0092924046
49 Pooh 1.969667319 0.0096803124
50 Pooh 1.979452055 0.0100817407
51 Pooh 1.989236791 0.0104971437
52 Pooh 1.999021526 0.0109218633
53 Pooh 2.008806262 0.0113658051
54 Pooh 2.018590998 0.0118145525
55 Pooh 2.028375734 0.0122880403
56 Pooh 2.038160470 0.0127666132
57 Pooh 2.047945205 0.0132655265
58 Pooh 2.057729941 0.0137748714
59 Pooh 2.067514677 0.0142998639
60 Pooh 2.077299413 0.0148408754
61 Pooh 2.087084149 0.0153925662
62 Pooh 2.096868885 0.0159660806
63 Pooh 2.106653620 0.0165450509
64 Pooh 2.116438356 0.0171518408
65 Pooh 2.126223092 0.0177642939
66 Pooh 2.136007828 0.0183993999
67 Pooh 2.145792564 0.0190460124
68 Pooh 2.155577299 0.0197098846
69 Pooh 2.165362035 0.0203912579
70 Pooh 2.175146771 0.0210842986
71 Pooh 2.184931507 0.0218009557
72 Pooh 2.194716243 0.0225235170
73 Pooh 2.204500978 0.0232759004
74 Pooh 2.214285714 0.0240342982
75 Pooh 2.224070450 0.0248167536
76 Pooh 2.233855186 0.0256113174
77 Pooh 2.243639922 0.0264240437
78 Pooh 2.253424658 0.0272550212
79 Pooh 2.263209393 0.0280981663
80 Pooh 2.272994129 0.0289657256
81 Pooh 2.282778865 0.0298393884
82 Pooh 2.292563601 0.0307436207
83 Pooh 2.302348337 0.0316539683
84 Pooh 2.312133072 0.0325887776
85 Pooh 2.321917808 0.0335358046
86 Pooh 2.331702544 0.0345011579
87 Pooh 2.341487280 0.0354847963
88 Pooh 2.351272016 0.0364806248
89 Pooh 2.361056751 0.0375007535
90 Pooh 2.370841487 0.0385269573
91 Pooh 2.380626223 0.0395834121
92 Pooh 2.390410959 0.0406458886
93 Pooh 2.400195695 0.0417324523
94 Pooh 2.409980431 0.0428309987
95 Pooh 2.419765166 0.0439475192
96 Pooh 2.429549902 0.0450819216
97 Pooh 2.439334638 0.0462282453
98 Pooh 2.449119374 0.0473982948
99 Pooh 2.458904110 0.0485742758
100 Pooh 2.468688845 0.0497797855
101 Pooh 2.478473581 0.0509911808
102 Pooh 2.488258317 0.0522261187
103 Pooh 2.498043053 0.0534728031
104 Pooh 2.507827789 0.0547371075
105 Pooh 2.517612524 0.0560190248
106 Pooh 2.527397260 0.0573126841
107 Pooh 2.537181996 0.0586298678
108 Pooh 2.546966732 0.0599529325
109 Pooh 2.556751468 0.0613055270
110 Pooh 2.566536204 0.0626640695
111 Pooh 2.576320939 0.0640464038
112 Pooh 2.586105675 0.0654407572
113 Pooh 2.595890411 0.0668531391
114 Pooh 2.605675147 0.0682837999
115 Pooh 2.615459883 0.0697266467
116 Pooh 2.625244618 0.0711942958
117 Pooh 2.635029354 0.0726681454
118 Pooh 2.644814090 0.0741736674
119 Pooh 2.654598826 0.0756856861
120 Pooh 2.664383562 0.0772236917
121 Pooh 2.674168297 0.0787750755
122 Pooh 2.683953033 0.0803465268
123 Pooh 2.693737769 0.0819387181
124 Pooh 2.703522505 0.0835447362
125 Pooh 2.713307241 0.0851794375
126 Pooh 2.723091977 0.0868213095
127 Pooh 2.732876712 0.0885004942
128 Pooh 2.742661448 0.0901874682
129 Pooh 2.752446184 0.0919055997
130 Pooh 2.762230920 0.0936400345
131 Pooh 2.772015656 0.0953989243
132 Pooh 2.781800391 0.0971834630
133 Pooh 2.791585127 0.0989851009
134 Pooh 2.801369863 0.1008226698
135 Pooh 2.811154599 0.1026692214
136 Pooh 2.820939335 0.1045630244
137 Pooh 2.830724070 0.1064667784
138 Pooh 2.840508806 0.1084103361
139 Pooh 2.850293542 0.1103748598
140 Pooh 2.860078278 0.1123708326
141 Pooh 2.869863014 0.1143999378
142 Pooh 2.879647750 0.1164511313
143 Pooh 2.889432485 0.1185488516
144 Pooh 2.899217221 0.1206582035
145 Pooh 2.909001957 0.1228287664
146 Pooh 2.918786693 0.1250122013
147 Pooh 2.928571429 0.1272471240
148 Pooh 2.938356164 0.1295090797
149 Pooh 2.948140900 0.1318115851
150 Pooh 2.957925636 0.1341566037
151 Pooh 2.967710372 0.1365299646
152 Pooh 2.977495108 0.1389626466
153 Pooh 2.987279843 0.1414101589
154 Pooh 2.997064579 0.1439351123
155 Pooh 3.006849315 0.1464762044
156 Pooh 3.016634051 0.1490818511
157 Pooh 3.026418787 0.1517210475
158 Pooh 3.036203523 0.1544105683
159 Pooh 3.045988258 0.1571522582
160 Pooh 3.055772994 0.1599287274
161 Pooh 3.065557730 0.1627770998
162 Pooh 3.075342466 0.1656434480
163 Pooh 3.085127202 0.1686024235
164 Pooh 3.094911937 0.1715804299
165 Pooh 3.104696673 0.1746345596
166 Pooh 3.114481409 0.1777276568
167 Pooh 3.124266145 0.1808792055
168 Pooh 3.134050881 0.1840903829
169 Pooh 3.143835616 0.1873413129
170 Pooh 3.153620352 0.1906730431
171 Pooh 3.163405088 0.1940249733
172 Pooh 3.173189824 0.1974791394
173 Pooh 3.182974560 0.2009539150
174 Pooh 3.192759295 0.2045111292
175 Pooh 3.202544031 0.2081097028
176 Pooh 3.212328767 0.2117703158
177 Pooh 3.222113503 0.2154928797
178 Pooh 3.231898239 0.2192567442
179 Pooh 3.241682975 0.2231026655
180 Pooh 3.251467710 0.2269691010
181 Pooh 3.261252446 0.2309368620
182 Pooh 3.271037182 0.2349245201
183 Pooh 3.280821918 0.2389917666
184 Pooh 3.290606654 0.2430978231
185 Pooh 3.300391389 0.2472620947
186 Pooh 3.310176125 0.2514827194
187 Pooh 3.319960861 0.2557409130
188 Pooh 3.329745597 0.2600712330
189 Pooh 3.339530333 0.2644195846
190 Pooh 3.349315068 0.2688536559
191 Pooh 3.359099804 0.2733038469
192 Pooh 3.368884540 0.2778185163
193 Pooh 3.378669276 0.2823631013
194 Pooh 3.388454012 0.2869525599
195 Pooh 3.398238748 0.2915829954
196 Pooh 3.408023483 0.2962407488
197 Pooh 3.417808219 0.3009473997
198 Pooh 3.427592955 0.3056662750
199 Pooh 3.437377691 0.3104384335
200 Pooh 3.447162427 0.3152195514
201 Pooh 3.456947162 0.3200365073
202 Pooh 3.466731898 0.3248677386
203 Pooh 3.476516634 0.3297203832
204 Pooh 3.486301370 0.3345886205
205 Pooh 3.496086106 0.3394672528
206 Pooh 3.505870841 0.3443584693
207 Pooh 3.515655577 0.3492528318
208 Pooh 3.525440313 0.3541521524
209 Pooh 3.535225049 0.3590502168
210 Pooh 3.545009785 0.3639432559
211 Pooh 3.554794521 0.3688291207
212 Pooh 3.564579256 0.3737042238
213 Pooh 3.574363992 0.3785613580
214 Pooh 3.584148728 0.3834065130
215 Pooh 3.593933464 0.3882178631
216 Pooh 3.603718200 0.3930207620
217 Pooh 3.613502935 0.3977688677
218 Pooh 3.623287671 0.4025034753
219 Pooh 3.633072407 0.4071840907
220 Pooh 3.642857143 0.4118325966
221 Pooh 3.652641879 0.4164329381
222 Pooh 3.662426614 0.4209774383
223 Pooh 3.672211350 0.4254847110
224 Pooh 3.681996086 0.4299073461
225 Pooh 3.691780822 0.4343088218
226 Pooh 3.701565558 0.4385919175
227 Pooh 3.711350294 0.4428488657
228 Pooh 3.721135029 0.4470012237
229 Pooh 3.730919765 0.4510964652
230 Pooh 3.740704501 0.4551060323
231 Pooh 3.750489237 0.4590229231
232 Pooh 3.760273973 0.4628780298
233 Pooh 3.770058708 0.4666006016
234 Pooh 3.779843444 0.4702900397
235 Pooh 3.789628180 0.4738031376
236 Pooh 3.799412916 0.4772789551
237 Pooh 3.809197652 0.4806056504
238 Pooh 3.818982387 0.4838540311
239 Pooh 3.828767123 0.4869849399
240 Pooh 3.838551859 0.4899931921
241 Pooh 3.848336595 0.4929196734
242 Pooh 3.858121331 0.4956763426
243 Pooh 3.867906067 0.4983905588
244 Pooh 3.877690802 0.5008855303
245 Pooh 3.887475538 0.5033354383
246 Pooh 3.897260274 0.5056050922
247 Pooh 3.907045010 0.5077825695
248 Pooh 3.916829746 0.5098217817
249 Pooh 3.926614481 0.5117202451
250 Pooh 3.936399217 0.5135248758
251 Pooh 3.946183953 0.5151393393
252 Pooh 3.955968689 0.5167062609
253 Pooh 3.965753425 0.5180333785
254 Pooh 3.975538160 0.5193123253
255 Pooh 3.985322896 0.5203985891
256 Pooh 3.995107632 0.5213885113
257 Pooh 4.004892368 0.5222339212
258 Pooh 4.014677104 0.5229354466
259 Pooh 4.024461840 0.5235410488
260 Pooh 4.034246575 0.5239564695
261 Pooh 4.044031311 0.5243243448
262 Pooh 4.053816047 0.5244575884
263 Pooh 4.063600783 0.5245447223
264 Pooh 4.073385519 0.5244474168
265 Pooh 4.083170254 0.5242599054
266 Pooh 4.092954990 0.5239370851
267 Pooh 4.102739726 0.5234825219
268 Pooh 4.112524462 0.5229401302
269 Pooh 4.122309198 0.5222275234
270 Pooh 4.132093933 0.5214723629
271 Pooh 4.141878669 0.5205120397
272 Pooh 4.151663405 0.5195123533
273 Pooh 4.161448141 0.5183552142
274 Pooh 4.171232877 0.5171229569
275 Pooh 4.181017613 0.5157780221
276 Pooh 4.190802348 0.5143261824
277 Pooh 4.200587084 0.5128030727
278 Pooh 4.210371820 0.5111455389
279 Pooh 4.220156556 0.5094543991
280 Pooh 4.229941292 0.5076058178
281 Pooh 4.239726027 0.5057279381
282 Pooh 4.249510763 0.5037328649
283 Pooh 4.259295499 0.5016836854
284 Pooh 4.269080235 0.4995533462
285 Pooh 4.278864971 0.4973486972
286 Pooh 4.288649706 0.4950945083
287 Pooh 4.298434442 0.4927504559
288 Pooh 4.308219178 0.4903839376
289 Pooh 4.318003914 0.4879166287
290 Pooh 4.327788650 0.4854314560
291 Pooh 4.337573386 0.4828748288
292 Pooh 4.347358121 0.4802870038
293 Pooh 4.357142857 0.4776523820
294 Pooh 4.366927593 0.4749776206
295 Pooh 4.376712329 0.4722760995
296 Pooh 4.386497065 0.4695296909
297 Pooh 4.396281800 0.4667720605
298 Pooh 4.406066536 0.4639687340
299 Pooh 4.415851272 0.4611582618
300 Pooh 4.425636008 0.4583192074
301 Pooh 4.435420744 0.4554696464
302 Pooh 4.445205479 0.4526043256
303 Pooh 4.454990215 0.4497285839
304 Pooh 4.464774951 0.4468458948
305 Pooh 4.474559687 0.4439559389
306 Pooh 4.484344423 0.4410641663
307 Pooh 4.494129159 0.4381709378
308 Pooh 4.503913894 0.4352788048
309 Pooh 4.513698630 0.4323910544
310 Pooh 4.523483366 0.4295079794
311 Pooh 4.533268102 0.4266319178
312 Pooh 4.543052838 0.4237661487
313 Pooh 4.552837573 0.4209072414
314 Pooh 4.562622309 0.4180658215
315 Pooh 4.572407045 0.4152287736
316 Pooh 4.582191781 0.4124175225
317 Pooh 4.591976517 0.4096120646
318 Pooh 4.601761252 0.4068297799
319 Pooh 4.611545988 0.4040600452
320 Pooh 4.621330724 0.4013091354
321 Pooh 4.631115460 0.3985780474
322 Pooh 4.640900196 0.3958601741
323 Pooh 4.650684932 0.3931694778
324 Pooh 4.660469667 0.3904855757
325 Pooh 4.670254403 0.3878358802
326 Pooh 4.680039139 0.3851929395
327 Pooh 4.689823875 0.3825770185
328 Pooh 4.699608611 0.3799741830
329 Pooh 4.709393346 0.3773909757
330 Pooh 4.719178082 0.3748264086
331 Pooh 4.728962818 0.3722742684
332 Pooh 4.738747554 0.3697452339
333 Pooh 4.748532290 0.3672219758
334 Pooh 4.758317025 0.3647249276
335 Pooh 4.768101761 0.3622325006
336 Pooh 4.777886497 0.3597585578
337 Pooh 4.787671233 0.3572924651
338 Pooh 4.797455969 0.3548381476
339 Pooh 4.807240705 0.3523933275
340 Pooh 4.817025440 0.3499548389
341 Pooh 4.826810176 0.3475257717
342 Pooh 4.836594912 0.3450990597
343 Pooh 4.846379648 0.3426798774
344 Pooh 4.856164384 0.3402613248
345 Pooh 4.865949119 0.3378452914
346 Pooh 4.875733855 0.3354287362
347 Pooh 4.885518591 0.3330113982
348 Pooh 4.895303327 0.3305905974
349 Pooh 4.905088063 0.3281674881
350 Pooh 4.914872798 0.3257362238
351 Pooh 4.924657534 0.3233029208
352 Pooh 4.934442270 0.3208551021
353 Pooh 4.944227006 0.3184035465
354 Pooh 4.954011742 0.3159370432
355 Pooh 4.963796477 0.3134614798
356 Pooh 4.973581213 0.3109723261
357 Pooh 4.983365949 0.3084673523
358 Pooh 4.993150685 0.3059518316
359 Pooh 5.002935421 0.3034124775
360 Pooh 5.012720157 0.3008671651
361 Pooh 5.022504892 0.2982889657
362 Pooh 5.032289628 0.2957036426
363 Pooh 5.042074364 0.2930898246
364 Pooh 5.051859100 0.2904608237
365 Pooh 5.061643836 0.2878090483
366 Pooh 5.071428571 0.2851333450
367 Pooh 5.081213307 0.2824416899
368 Pooh 5.090998043 0.2797169421
369 Pooh 5.100782779 0.2769839211
370 Pooh 5.110567515 0.2742084988
371 Pooh 5.120352250 0.2714244812
372 Pooh 5.130136986 0.2686060822
373 Pooh 5.139921722 0.2657704482
374 Pooh 5.149706458 0.2629089619
375 Pooh 5.159491194 0.2600218356
376 Pooh 5.169275930 0.2571176159
377 Pooh 5.179060665 0.2541798610
378 Pooh 5.188845401 0.2512337223
379 Pooh 5.198630137 0.2482469298
380 Pooh 5.208414873 0.2452523471
381 Pooh 5.218199609 0.2422266041
382 Pooh 5.227984344 0.2391861305
383 Pooh 5.237769080 0.2361235612
384 Pooh 5.247553816 0.2330404109
385 Pooh 5.257338552 0.2299435401
386 Pooh 5.267123288 0.2268215491
387 Pooh 5.276908023 0.2236932781
388 Pooh 5.286692759 0.2205368583
389 Pooh 5.296477495 0.2173755233
390 Pooh 5.306262231 0.2141945270
391 Pooh 5.316046967 0.2110052448
392 Pooh 5.325831703 0.2078035337
393 Pooh 5.335616438 0.2045918646
394 Pooh 5.345401174 0.2013735567
395 Pooh 5.355185910 0.1981454433
396 Pooh 5.364970646 0.1949148786
397 Pooh 5.374755382 0.1916765833
398 Pooh 5.384540117 0.1884376771
399 Pooh 5.394324853 0.1851963276
400 Pooh 5.404109589 0.1819556727
401 Pooh 5.413894325 0.1787160594
402 Pooh 5.423679061 0.1754804086
403 Pooh 5.433463796 0.1722473994
404 Pooh 5.443248532 0.1690236011
405 Pooh 5.453033268 0.1658021056
406 Pooh 5.462818004 0.1625970397
407 Pooh 5.472602740 0.1593962375
408 Pooh 5.482387476 0.1562124899
409 Pooh 5.492172211 0.1530392009
410 Pooh 5.501956947 0.1498815999
411 Pooh 5.511741683 0.1467425289
412 Pooh 5.521526419 0.1436158112
413 Pooh 5.531311155 0.1405174931
414 Pooh 5.541095890 0.1374262749
415 Pooh 5.550880626 0.1343750237
416 Pooh 5.560665362 0.1313326247
417 Pooh 5.570450098 0.1283256347
418 Pooh 5.580234834 0.1253379882
419 Pooh 5.590019569 0.1223793569
420 Pooh 5.599804305 0.1194520689
421 Pooh 5.609589041 0.1165456765
422 Pooh 5.619373777 0.1136839912
423 Pooh 5.629158513 0.1108334826
424 Pooh 5.638943249 0.1080422516
425 Pooh 5.648727984 0.1052635020
426 Pooh 5.658512720 0.1025346781
427 Pooh 5.668297456 0.0998319587
428 Pooh 5.678082192 0.0971683964
429 Pooh 5.687866928 0.0945455338
430 Pooh 5.697651663 0.0919498046
431 Pooh 5.707436399 0.0894101679
432 Pooh 5.717221135 0.0868845543
433 Pooh 5.727005871 0.0844310471
434 Pooh 5.736790607 0.0819923005
435 Pooh 5.746575342 0.0796125968
436 Pooh 5.756360078 0.0772629766
437 Pooh 5.766144814 0.0749584815
438 Pooh 5.775929550 0.0726997811
439 Pooh 5.785714286 0.0704716106
440 Pooh 5.795499022 0.0683051654
441 Pooh 5.805283757 0.0661541515
442 Pooh 5.815068493 0.0640808488
443 Pooh 5.824853229 0.0620231455
444 Pooh 5.834637965 0.0600278398
445 Pooh 5.844422701 0.0580637436
446 Pooh 5.854207436 0.0561464615
447 Pooh 5.863992172 0.0542758609
448 Pooh 5.873776908 0.0524363813
449 Pooh 5.883561644 0.0506587779
450 Pooh 5.893346380 0.0488966436
451 Pooh 5.903131115 0.0472111750
452 Pooh 5.912915851 0.0455408619
453 Pooh 5.922700587 0.0439311707
454 Pooh 5.932485323 0.0423513576
455 Pooh 5.942270059 0.0408163616
456 Pooh 5.952054795 0.0393254258
457 Pooh 5.961839530 0.0378638636
458 Pooh 5.971624266 0.0364599084
459 Pooh 5.981409002 0.0350703550
460 Pooh 5.991193738 0.0337512373
461 Pooh 6.000978474 0.0324458656
462 Pooh 6.010763209 0.0311954780
463 Pooh 6.020547945 0.0299718534
464 Pooh 6.030332681 0.0287883733
465 Pooh 6.040117417 0.0276438829
466 Pooh 6.049902153 0.0265253857
467 Pooh 6.059686888 0.0254572658
468 Pooh 6.069471624 0.0244017403
469 Pooh 6.079256360 0.0234071029
470 Pooh 6.089041096 0.0224242149
471 Pooh 6.098825832 0.0214883240
472 Pooh 6.108610568 0.0205750572
473 Pooh 6.118395303 0.0196957265
474 Pooh 6.128180039 0.0188490009
475 Pooh 6.137964775 0.0180240122
476 Pooh 6.147749511 0.0172407068
477 Pooh 6.157534247 0.0164678223
478 Pooh 6.167318982 0.0157447960
479 Pooh 6.177103718 0.0150312927
480 Pooh 6.186888454 0.0143558813
481 Pooh 6.196673190 0.0136986235
482 Pooh 6.206457926 0.0130685960
483 Pooh 6.216242661 0.0124644733
484 Pooh 6.226027397 0.0118776204
485 Pooh 6.235812133 0.0113235635
486 Pooh 6.245596869 0.0107777057
487 Pooh 6.255381605 0.0102707008
488 Pooh 6.265166341 0.0097710468
489 Pooh 6.274951076 0.0093007967
490 Pooh 6.284735812 0.0088444293
491 Pooh 6.294520548 0.0084088860
492 Pooh 6.304305284 0.0079929709
493 Pooh 6.314090020 0.0075901414
494 Pooh 6.323874755 0.0072119361
495 Pooh 6.333659491 0.0068398870
496 Pooh 6.343444227 0.0064967480
497 Pooh 6.353228963 0.0061590304
498 Pooh 6.363013699 0.0058429978
499 Pooh 6.372798434 0.0055371137
500 Pooh 6.382583170 0.0052464523
501 Pooh 6.392367906 0.0049700147
502 Pooh 6.402152642 0.0047030597
503 Pooh 6.411937378 0.0044537954
504 Pooh 6.421722114 0.0042089537
505 Pooh 6.431506849 0.0039847047
506 Pooh 6.441291585 0.0037642847
507 Pooh 6.451076321 0.0035591803
508 Pooh 6.460861057 0.0033611835
509 Pooh 6.470645793 0.0031738481
510 Pooh 6.480430528 0.0029963917
511 Pooh 6.490215264 0.0028255213
512 Pooh 6.500000000 0.0026668365
513 Leitao -0.500000000 0.0008897526
514 Leitao -0.488258317 0.0009544630
515 Leitao -0.476516634 0.0010238666
516 Leitao -0.464774951 0.0010956167
517 Leitao -0.453033268 0.0011750389
518 Leitao -0.441291585 0.0012572425
519 Leitao -0.429549902 0.0013450091
520 Leitao -0.417808219 0.0014388143
521 Leitao -0.406066536 0.0015356387
522 Leitao -0.394324853 0.0016422755
523 Leitao -0.382583170 0.0017524485
524 Leitao -0.370841487 0.0018696937
525 Leitao -0.359099804 0.0019945696
526 Leitao -0.347358121 0.0021232606
527 Leitao -0.335616438 0.0022642757
528 Leitao -0.323874755 0.0024097049
529 Leitao -0.312133072 0.0025639622
530 Leitao -0.300391389 0.0027276856
531 Leitao -0.288649706 0.0028961422
532 Leitao -0.276908023 0.0030797926
533 Leitao -0.265166341 0.0032688508
534 Leitao -0.253424658 0.0034687247
535 Leitao -0.241682975 0.0036801230
536 Leitao -0.229941292 0.0038972833
537 Leitao -0.218199609 0.0041328232
538 Leitao -0.206457926 0.0043748630
539 Leitao -0.194716243 0.0046299024
540 Leitao -0.182974560 0.0048987037
541 Leitao -0.171232877 0.0051743860
542 Leitao -0.159491194 0.0054718734
543 Leitao -0.147749511 0.0057770216
544 Leitao -0.136007828 0.0060974913
545 Leitao -0.124266145 0.0064340733
546 Leitao -0.112524462 0.0067787116
547 Leitao -0.100782779 0.0071487092
548 Leitao -0.089041096 0.0075275563
549 Leitao -0.077299413 0.0079241022
550 Leitao -0.065557730 0.0083391347
551 Leitao -0.053816047 0.0087634104
552 Leitao -0.042074364 0.0092165832
553 Leitao -0.030332681 0.0096797707
554 Leitao -0.018590998 0.0101629874
555 Leitao -0.006849315 0.0106669798
556 Leitao 0.004892368 0.0111813601
557 Leitao 0.016634051 0.0117279892
558 Leitao 0.028375734 0.0122857162
559 Leitao 0.040117417 0.0128656389
560 Leitao 0.051859100 0.0134684221
561 Leitao 0.063600783 0.0140826354
562 Leitao 0.075342466 0.0147320826
563 Leitao 0.087084149 0.0153935687
564 Leitao 0.098825832 0.0160791327
565 Leitao 0.110567515 0.0167893193
566 Leitao 0.122309198 0.0175118172
567 Leitao 0.134050881 0.0182719952
568 Leitao 0.145792564 0.0190449566
569 Leitao 0.157534247 0.0198434851
570 Leitao 0.169275930 0.0206679747
571 Leitao 0.181017613 0.0215054449
572 Leitao 0.192759295 0.0223823657
573 Leitao 0.204500978 0.0232725783
574 Leitao 0.216242661 0.0241893746
575 Leitao 0.227984344 0.0251329815
576 Leitao 0.239726027 0.0260899935
577 Leitao 0.251467710 0.0270874774
578 Leitao 0.263209393 0.0280985099
579 Leitao 0.274951076 0.0291366396
580 Leitao 0.286692759 0.0302019297
581 Leitao 0.298434442 0.0312808001
582 Leitao 0.310176125 0.0324004324
583 Leitao 0.321917808 0.0335336366
584 Leitao 0.333659491 0.0346939844
585 Leitao 0.345401174 0.0358814054
586 Leitao 0.357142857 0.0370823630
587 Leitao 0.368884540 0.0383237752
588 Leitao 0.380626223 0.0395786077
589 Leitao 0.392367906 0.0408602810
590 Leitao 0.404109589 0.0421686494
591 Leitao 0.415851272 0.0434903653
592 Leitao 0.427592955 0.0448518947
593 Leitao 0.439334638 0.0462266210
594 Leitao 0.451076321 0.0476277407
595 Leitao 0.462818004 0.0490551205
596 Leitao 0.474559687 0.0504956303
597 Leitao 0.486301370 0.0519753721
598 Leitao 0.498043053 0.0534681590
599 Leitao 0.509784736 0.0549870364
600 Leitao 0.521526419 0.0565319950
601 Leitao 0.533268102 0.0580899943
602 Leitao 0.545009785 0.0596872056
603 Leitao 0.556751468 0.0612975595
604 Leitao 0.568493151 0.0629341988
605 Leitao 0.580234834 0.0645973658
606 Leitao 0.591976517 0.0662737966
607 Leitao 0.603718200 0.0679905517
608 Leitao 0.615459883 0.0697209891
609 Leitao 0.627201566 0.0714787914
610 Leitao 0.638943249 0.0732645807
611 Leitao 0.650684932 0.0750643636
612 Leitao 0.662426614 0.0769072896
613 Leitao 0.674168297 0.0787650661
614 Leitao 0.685909980 0.0806525440
615 Leitao 0.697651663 0.0825708364
616 Leitao 0.709393346 0.0845045361
617 Leitao 0.721135029 0.0864864012
618 Leitao 0.732876712 0.0884850638
619 Leitao 0.744618395 0.0905173212
620 Leitao 0.756360078 0.0925848508
621 Leitao 0.768101761 0.0946700165
622 Leitao 0.779843444 0.0968108985
623 Leitao 0.791585127 0.0989713852
624 Leitao 0.803326810 0.1011710814
625 Leitao 0.815068493 0.1034122421
626 Leitao 0.826810176 0.1056741351
627 Leitao 0.838551859 0.1080018808
628 Leitao 0.850293542 0.1103528820
629 Leitao 0.862035225 0.1127503943
630 Leitao 0.873776908 0.1151971853
631 Leitao 0.885518591 0.1176686156
632 Leitao 0.897260274 0.1202183263
633 Leitao 0.909001957 0.1227956447
634 Leitao 0.920743640 0.1254281784
635 Leitao 0.932485323 0.1281190511
636 Leitao 0.944227006 0.1308390933
637 Leitao 0.955968689 0.1336514306
638 Leitao 0.967710372 0.1364961463
639 Leitao 0.979452055 0.1394056188
640 Leitao 0.991193738 0.1423830760
641 Leitao 1.002935421 0.1453945254
642 Leitao 1.014677104 0.1485127376
643 Leitao 1.026418787 0.1516680937
644 Leitao 1.038160470 0.1548977374
645 Leitao 1.049902153 0.1582046596
646 Leitao 1.061643836 0.1615502212
647 Leitao 1.073385519 0.1650159356
648 Leitao 1.085127202 0.1685230051
649 Leitao 1.096868885 0.1721127848
650 Leitao 1.108610568 0.1757876189
651 Leitao 1.120352250 0.1795049801
652 Leitao 1.132093933 0.1833529676
653 Leitao 1.143835616 0.1872453300
654 Leitao 1.155577299 0.1912264421
655 Leitao 1.167318982 0.1952975547
656 Leitao 1.179060665 0.1994136675
657 Leitao 1.190802348 0.2036659614
658 Leitao 1.202544031 0.2079637865
659 Leitao 1.214285714 0.2123526741
660 Leitao 1.226027397 0.2168323416
661 Leitao 1.237769080 0.2213573990
662 Leitao 1.249510763 0.2260173015
663 Leitao 1.261252446 0.2307213907
664 Leitao 1.272994129 0.2355138532
665 Leitao 1.284735812 0.2403924895
666 Leitao 1.296477495 0.2453142129
667 Leitao 1.308219178 0.2503608378
668 Leitao 1.319960861 0.2554472772
669 Leitao 1.331702544 0.2606133456
670 Leitao 1.343444227 0.2658546519
671 Leitao 1.355185910 0.2711335771
672 Leitao 1.366927593 0.2765176238
673 Leitao 1.378669276 0.2819337460
674 Leitao 1.390410959 0.2874140196
675 Leitao 1.402152642 0.2929517428
676 Leitao 1.413894325 0.2985181909
677 Leitao 1.425636008 0.3041596146
678 Leitao 1.437377691 0.3098219231
679 Leitao 1.449119374 0.3155260013
680 Leitao 1.460861057 0.3212629105
681 Leitao 1.472602740 0.3270162352
682 Leitao 1.484344423 0.3328043589
683 Leitao 1.496086106 0.3385989399
684 Leitao 1.507827789 0.3444064354
685 Leitao 1.519569472 0.3502159553
686 Leitao 1.531311155 0.3560264873
687 Leitao 1.543052838 0.3618228946
688 Leitao 1.554794521 0.3676086293
689 Leitao 1.566536204 0.3733730190
690 Leitao 1.578277886 0.3791037166
691 Leitao 1.590019569 0.3848175682
692 Leitao 1.601761252 0.3904618472
693 Leitao 1.613502935 0.3960764601
694 Leitao 1.625244618 0.4016317405
695 Leitao 1.636986301 0.4071145636
696 Leitao 1.648727984 0.4125611580
697 Leitao 1.660469667 0.4178792535
698 Leitao 1.672211350 0.4231479174
699 Leitao 1.683953033 0.4283177179
700 Leitao 1.695694716 0.4333755654
701 Leitao 1.707436399 0.4383774364
702 Leitao 1.719178082 0.4431920532
703 Leitao 1.730919765 0.4479379630
704 Leitao 1.742661448 0.4525464589
705 Leitao 1.754403131 0.4570053671
706 Leitao 1.766144814 0.4613894815
707 Leitao 1.777886497 0.4655317054
708 Leitao 1.789628180 0.4695877605
709 Leitao 1.801369863 0.4734714782
710 Leitao 1.813111546 0.4771724676
711 Leitao 1.824853229 0.4807820928
712 Leitao 1.836594912 0.4841031979
713 Leitao 1.848336595 0.4873237470
714 Leitao 1.860078278 0.4903431841
715 Leitao 1.871819961 0.4931536708
716 Leitao 1.883561644 0.4958596822
717 Leitao 1.895303327 0.4982420007
718 Leitao 1.907045010 0.5005135251
719 Leitao 1.918786693 0.5025634612
720 Leitao 1.930528376 0.5043871171
721 Leitao 1.942270059 0.5060976331
722 Leitao 1.954011742 0.5074634030
723 Leitao 1.965753425 0.5087130679
724 Leitao 1.977495108 0.5097305226
725 Leitao 1.989236791 0.5105145783
726 Leitao 2.000978474 0.5111819345
727 Leitao 2.012720157 0.5114992082
728 Leitao 2.024461840 0.5117003919
729 Leitao 2.036203523 0.5116693957
730 Leitao 2.047945205 0.5114086131
731 Leitao 2.059686888 0.5110329373
732 Leitao 2.071428571 0.5103179149
733 Leitao 2.083170254 0.5094921189
734 Leitao 2.094911937 0.5084447754
735 Leitao 2.106653620 0.5071816527
736 Leitao 2.118395303 0.5058106404
737 Leitao 2.130136986 0.5041261587
738 Leitao 2.141878669 0.5023410717
739 Leitao 2.153620352 0.5003547741
740 Leitao 2.165362035 0.4981759339
741 Leitao 2.177103718 0.4959008223
742 Leitao 2.188845401 0.4933511310
743 Leitao 2.200587084 0.4907150264
744 Leitao 2.212328767 0.4879060952
745 Leitao 2.224070450 0.4849352113
746 Leitao 2.235812133 0.4818833511
747 Leitao 2.247553816 0.4786057027
748 Leitao 2.259295499 0.4752587327
749 Leitao 2.271037182 0.4717731196
750 Leitao 2.282778865 0.4681611012
751 Leitao 2.294520548 0.4644858802
752 Leitao 2.306262231 0.4606397884
753 Leitao 2.318003914 0.4567430617
754 Leitao 2.329745597 0.4527450649
755 Leitao 2.341487280 0.4486584937
756 Leitao 2.353228963 0.4445276352
757 Leitao 2.364970646 0.4402828880
758 Leitao 2.376712329 0.4360064309
759 Leitao 2.388454012 0.4316665543
760 Leitao 2.400195695 0.4272755303
761 Leitao 2.411937378 0.4228589327
762 Leitao 2.423679061 0.4183835421
763 Leitao 2.435420744 0.4138943293
764 Leitao 2.447162427 0.4093774719
765 Leitao 2.458904110 0.4048440453
766 Leitao 2.470645793 0.4003023342
767 Leitao 2.482387476 0.3957515688
768 Leitao 2.494129159 0.3912027510
769 Leitao 2.505870841 0.3866578284
770 Leitao 2.517612524 0.3821260792
771 Leitao 2.529354207 0.3776009169
772 Leitao 2.541095890 0.3731083893
773 Leitao 2.552837573 0.3686306669
774 Leitao 2.564579256 0.3641825546
775 Leitao 2.576320939 0.3597711516
776 Leitao 2.588062622 0.3553781033
777 Leitao 2.599804305 0.3510496119
778 Leitao 2.611545988 0.3467454145
779 Leitao 2.623287671 0.3424898054
780 Leitao 2.635029354 0.3382875576
781 Leitao 2.646771037 0.3341119904
782 Leitao 2.658512720 0.3300224725
783 Leitao 2.670254403 0.3259632643
784 Leitao 2.681996086 0.3219646758
785 Leitao 2.693737769 0.3180292331
786 Leitao 2.705479452 0.3141253632
787 Leitao 2.717221135 0.3103189561
788 Leitao 2.728962818 0.3065456214
789 Leitao 2.740704501 0.3028384314
790 Leitao 2.752446184 0.2991979376
791 Leitao 2.764187867 0.2955907919
792 Leitao 2.775929550 0.2920836604
793 Leitao 2.787671233 0.2886095964
794 Leitao 2.799412916 0.2852016673
795 Leitao 2.811154599 0.2818588641
796 Leitao 2.822896282 0.2785486238
797 Leitao 2.834637965 0.2753339397
798 Leitao 2.846379648 0.2721502190
799 Leitao 2.858121331 0.2690284251
800 Leitao 2.869863014 0.2659664821
801 Leitao 2.881604697 0.2629344646
802 Leitao 2.893346380 0.2599887476
803 Leitao 2.905088063 0.2570705462
804 Leitao 2.916829746 0.2542073761
805 Leitao 2.928571429 0.2513966039
806 Leitao 2.940313112 0.2486120308
807 Leitao 2.952054795 0.2459019867
808 Leitao 2.963796477 0.2432154150
809 Leitao 2.975538160 0.2405757882
810 Leitao 2.987279843 0.2379803812
811 Leitao 2.999021526 0.2354070842
812 Leitao 3.010763209 0.2328961172
813 Leitao 3.022504892 0.2304046418
814 Leitao 3.034246575 0.2279521493
815 Leitao 3.045988258 0.2255361985
816 Leitao 3.057729941 0.2231385185
817 Leitao 3.069471624 0.2207922253
818 Leitao 3.081213307 0.2184620097
819 Leitao 3.092954990 0.2161639491
820 Leitao 3.104696673 0.2138961398
821 Leitao 3.116438356 0.2116434562
822 Leitao 3.128180039 0.2094336131
823 Leitao 3.139921722 0.2072373152
824 Leitao 3.151663405 0.2050681077
825 Leitao 3.163405088 0.2029247452
826 Leitao 3.175146771 0.2007943051
827 Leitao 3.186888454 0.1987011003
828 Leitao 3.198630137 0.1966199056
829 Leitao 3.210371820 0.1945627311
830 Leitao 3.222113503 0.1925289830
831 Leitao 3.233855186 0.1905069482
832 Leitao 3.245596869 0.1885194565
833 Leitao 3.257338552 0.1865433705
834 Leitao 3.269080235 0.1845900960
835 Leitao 3.280821918 0.1826595770
836 Leitao 3.292563601 0.1807404357
837 Leitao 3.304305284 0.1788555540
838 Leitao 3.316046967 0.1769821928
839 Leitao 3.327788650 0.1751318726
840 Leitao 3.339530333 0.1733048876
841 Leitao 3.351272016 0.1714895701
842 Leitao 3.363013699 0.1697097976
843 Leitao 3.374755382 0.1679420751
844 Leitao 3.386497065 0.1661984525
845 Leitao 3.398238748 0.1644793492
846 Leitao 3.409980431 0.1627725057
847 Leitao 3.421722114 0.1611030570
848 Leitao 3.433463796 0.1594462621
849 Leitao 3.445205479 0.1578147745
850 Leitao 3.456947162 0.1562089158
851 Leitao 3.468688845 0.1546158715
852 Leitao 3.480430528 0.1530616373
853 Leitao 3.492172211 0.1515204140
854 Leitao 3.503913894 0.1500052122
855 Leitao 3.515655577 0.1485160670
856 Leitao 3.527397260 0.1470399502
857 Leitao 3.539138943 0.1456027797
858 Leitao 3.550880626 0.1441784753
859 Leitao 3.562622309 0.1427799032
860 Leitao 3.574363992 0.1414066833
861 Leitao 3.586105675 0.1400461395
862 Leitao 3.597847358 0.1387228220
863 Leitao 3.609589041 0.1374115673
864 Leitao 3.621330724 0.1361244378
865 Leitao 3.633072407 0.1348605836
866 Leitao 3.644814090 0.1336083670
867 Leitao 3.656555773 0.1323895548
868 Leitao 3.668297456 0.1311812995
869 Leitao 3.680039139 0.1299941581
870 Leitao 3.691780822 0.1288268324
871 Leitao 3.703522505 0.1276694146
872 Leitao 3.715264188 0.1265395749
873 Leitao 3.727005871 0.1254181530
874 Leitao 3.738747554 0.1243135667
875 Leitao 3.750489237 0.1232241608
876 Leitao 3.762230920 0.1221423451
877 Leitao 3.773972603 0.1210806836
878 Leitao 3.785714286 0.1200248323
879 Leitao 3.797455969 0.1189806012
880 Leitao 3.809197652 0.1179461218
881 Leitao 3.820939335 0.1169165181
882 Leitao 3.832681018 0.1158986890
883 Leitao 3.844422701 0.1148838270
884 Leitao 3.856164384 0.1138748995
885 Leitao 3.867906067 0.1128699984
886 Leitao 3.879647750 0.1118671106
887 Leitao 3.891389432 0.1108674414
888 Leitao 3.903131115 0.1098679285
889 Leitao 3.914872798 0.1088687281
890 Leitao 3.926614481 0.1078680737
891 Leitao 3.938356164 0.1068666921
892 Leitao 3.950097847 0.1058606072
893 Leitao 3.961839530 0.1048521650
894 Leitao 3.973581213 0.1038390080
895 Leitao 3.985322896 0.1028196758
896 Leitao 3.997064579 0.1017972559
897 Leitao 4.008806262 0.1007635814
898 Leitao 4.020547945 0.0997255644
899 Leitao 4.032289628 0.0986788622
900 Leitao 4.044031311 0.0976224497
901 Leitao 4.055772994 0.0965611820
902 Leitao 4.067514677 0.0954840592
903 Leitao 4.079256360 0.0944013082
904 Leitao 4.090998043 0.0933073003
905 Leitao 4.102739726 0.0922015269
906 Leitao 4.114481409 0.0910898707
907 Leitao 4.126223092 0.0899600741
908 Leitao 4.137964775 0.0888241576
909 Leitao 4.149706458 0.0876760012
910 Leitao 4.161448141 0.0865156394
911 Leitao 4.173189824 0.0853491750
912 Leitao 4.184931507 0.0841647209
913 Leitao 4.196673190 0.0829744627
914 Leitao 4.208414873 0.0817725964
915 Leitao 4.220156556 0.0805596735
916 Leitao 4.231898239 0.0793412221
917 Leitao 4.243639922 0.0781072498
918 Leitao 4.255381605 0.0768685328
919 Leitao 4.267123288 0.0756203263
920 Leitao 4.278864971 0.0743636257
921 Leitao 4.290606654 0.0731026779
922 Leitao 4.302348337 0.0718306697
923 Leitao 4.314090020 0.0705555912
924 Leitao 4.325831703 0.0692743720
925 Leitao 4.337573386 0.0679883434
926 Leitao 4.349315068 0.0666999102
927 Leitao 4.361056751 0.0654063858
928 Leitao 4.372798434 0.0641119066
929 Leitao 4.384540117 0.0628155180
930 Leitao 4.396281800 0.0615187584
931 Leitao 4.408023483 0.0602218134
932 Leitao 4.419765166 0.0589266787
933 Leitao 4.431506849 0.0576329483
934 Leitao 4.443248532 0.0563420267
935 Leitao 4.454990215 0.0550555250
936 Leitao 4.466731898 0.0537712332
937 Leitao 4.478473581 0.0524959813
938 Leitao 4.490215264 0.0512245366
939 Leitao 4.501956947 0.0499607065
940 Leitao 4.513698630 0.0487060477
941 Leitao 4.525440313 0.0474559746
942 Leitao 4.537181996 0.0462219285
943 Leitao 4.548923679 0.0449939540
944 Leitao 4.560665362 0.0437781228
945 Leitao 4.572407045 0.0425758286
946 Leitao 4.584148728 0.0413803029
947 Leitao 4.595890411 0.0402070622
948 Leitao 4.607632094 0.0390418686
949 Leitao 4.619373777 0.0378927692
950 Leitao 4.631115460 0.0367609125
951 Leitao 4.642857143 0.0356376771
952 Leitao 4.654598826 0.0345418861
953 Leitao 4.666340509 0.0334557202
954 Leitao 4.678082192 0.0323888046
955 Leitao 4.689823875 0.0313419903
956 Leitao 4.701565558 0.0303052266
957 Leitao 4.713307241 0.0292997331
958 Leitao 4.725048924 0.0283049823
959 Leitao 4.736790607 0.0273317170
960 Leitao 4.748532290 0.0263804688
961 Leitao 4.760273973 0.0254402291
962 Leitao 4.772015656 0.0245336525
963 Leitao 4.783757339 0.0236384572
964 Leitao 4.795499022 0.0227660241
965 Leitao 4.807240705 0.0219165710
966 Leitao 4.818982387 0.0210786079
967 Leitao 4.830724070 0.0202752920
968 Leitao 4.842465753 0.0194835366
969 Leitao 4.854207436 0.0187149020
970 Leitao 4.865949119 0.0179693198
971 Leitao 4.877690802 0.0172352638
972 Leitao 4.889432485 0.0165355544
973 Leitao 4.901174168 0.0158471761
974 Leitao 4.912915851 0.0151814600
975 Leitao 4.924657534 0.0145380955
976 Leitao 4.936399217 0.0139059068
977 Leitao 4.948140900 0.0133066757
978 Leitao 4.959882583 0.0127182091
979 Leitao 4.971624266 0.0121512714
980 Leitao 4.983365949 0.0116053633
981 Leitao 4.995107632 0.0110699700
982 Leitao 5.006849315 0.0105652960
983 Leitao 5.018590998 0.0100705650
984 Leitao 5.030332681 0.0095957196
985 Leitao 5.042074364 0.0091401282
986 Leitao 5.053816047 0.0086941638
987 Leitao 5.065557730 0.0082760849
988 Leitao 5.077299413 0.0078669566
989 Leitao 5.089041096 0.0074757293
990 Leitao 5.100782779 0.0071016935
991 Leitao 5.112524462 0.0067362534
992 Leitao 5.124266145 0.0063955141
993 Leitao 5.136007828 0.0060626414
994 Leitao 5.147749511 0.0057455019
995 Leitao 5.159491194 0.0054433570
996 Leitao 5.171232877 0.0051487093
997 Leitao 5.182974560 0.0048754448
998 Leitao 5.194716243 0.0046089403
999 Leitao 5.206457926 0.0043559560
1000 Leitao 5.218199609 0.0041157639
1001 Leitao 5.229941292 0.0038819680
1002 Leitao 5.241682975 0.0036662852
1003 Leitao 5.253424658 0.0034562887
1004 Leitao 5.265166341 0.0032576647
1005 Leitao 5.276908023 0.0030697269
1006 Leitao 5.288649706 0.0028871322
1007 Leitao 5.300391389 0.0027195657
1008 Leitao 5.312133072 0.0025566853
1009 Leitao 5.323874755 0.0024031774
1010 Leitao 5.335616438 0.0022584179
1011 Leitao 5.347358121 0.0021180326
1012 Leitao 5.359099804 0.0019898700
1013 Leitao 5.370841487 0.0018654941
1014 Leitao 5.382583170 0.0017486916
1015 Leitao 5.394324853 0.0016389131
1016 Leitao 5.406066536 0.0015326466
1017 Leitao 5.417808219 0.0014361315
1018 Leitao 5.429549902 0.0013426186
1019 Leitao 5.441291585 0.0012551099
1020 Leitao 5.453033268 0.0011731353
1021 Leitao 5.464774951 0.0010939278
1022 Leitao 5.476516634 0.0010223561
1023 Leitao 5.488258317 0.0009531208
1024 Leitao 5.500000000 0.0008885585
1025 Tigrao 1.500000000 0.0017784901
1026 Tigrao 1.509784736 0.0018843400
1027 Tigrao 1.519569472 0.0019983221
1028 Tigrao 1.529354207 0.0021166999
1029 Tigrao 1.539138943 0.0022416712
1030 Tigrao 1.548923679 0.0023737588
1031 Tigrao 1.558708415 0.0025105907
1032 Tigrao 1.568493151 0.0026576467
1033 Tigrao 1.578277886 0.0028072587
1034 Tigrao 1.588062622 0.0029706192
1035 Tigrao 1.597847358 0.0031369327
1036 Tigrao 1.607632094 0.0033150588
1037 Tigrao 1.617416830 0.0034995174
1038 Tigrao 1.627201566 0.0036934749
1039 Tigrao 1.636986301 0.0038975999
1040 Tigrao 1.646771037 0.0041085032
1041 Tigrao 1.656555773 0.0043338926
1042 Tigrao 1.666340509 0.0045629036
1043 Tigrao 1.676125245 0.0048112308
1044 Tigrao 1.685909980 0.0050636720
1045 Tigrao 1.695694716 0.0053325690
1046 Tigrao 1.705479452 0.0056102126
1047 Tigrao 1.715264188 0.0059009761
1048 Tigrao 1.725048924 0.0062056621
1049 Tigrao 1.734833659 0.0065196298
1050 Tigrao 1.744618395 0.0068532613
1051 Tigrao 1.754403131 0.0071918087
1052 Tigrao 1.764187867 0.0075563463
1053 Tigrao 1.773972603 0.0079263702
1054 Tigrao 1.783757339 0.0083183395
1055 Tigrao 1.793542074 0.0087218687
1056 Tigrao 1.803326810 0.0091427378
1057 Tigrao 1.813111546 0.0095818410
1058 Tigrao 1.822896282 0.0100331002
1059 Tigrao 1.832681018 0.0105098770
1060 Tigrao 1.842465753 0.0109930333
1061 Tigrao 1.852250489 0.0115096044
1062 Tigrao 1.862035225 0.0120331631
1063 Tigrao 1.871819961 0.0125846717
1064 Tigrao 1.881604697 0.0131507634
1065 Tigrao 1.891389432 0.0137387298
1066 Tigrao 1.901174168 0.0143494776
1067 Tigrao 1.910958904 0.0149754128
1068 Tigrao 1.920743640 0.0156329182
1069 Tigrao 1.930528376 0.0162983162
1070 Tigrao 1.940313112 0.0170046455
1071 Tigrao 1.950097847 0.0177194481
1072 Tigrao 1.959882583 0.0184681437
1073 Tigrao 1.969667319 0.0192343428
1074 Tigrao 1.979452055 0.0200267971
1075 Tigrao 1.989236791 0.0208463109
1076 Tigrao 1.999021526 0.0216838645
1077 Tigrao 2.008806262 0.0225585212
1078 Tigrao 2.018590998 0.0234424537
1079 Tigrao 2.028375734 0.0243739743
1080 Tigrao 2.038160470 0.0253152384
1081 Tigrao 2.047945205 0.0262954761
1082 Tigrao 2.057729941 0.0272956165
1083 Tigrao 2.067514677 0.0283256108
1084 Tigrao 2.077299413 0.0293860231
1085 Tigrao 2.087084149 0.0304667141
1086 Tigrao 2.096868885 0.0315886278
1087 Tigrao 2.106653620 0.0327208473
1088 Tigrao 2.116438356 0.0339053094
1089 Tigrao 2.126223092 0.0351003376
1090 Tigrao 2.136007828 0.0363376304
1091 Tigrao 2.145792564 0.0375962370
1092 Tigrao 2.155577299 0.0388868141
1093 Tigrao 2.165362035 0.0402095489
1094 Tigrao 2.175146771 0.0415537220
1095 Tigrao 2.184931507 0.0429409023
1096 Tigrao 2.194716243 0.0443388343
1097 Tigrao 2.204500978 0.0457905329
1098 Tigrao 2.214285714 0.0472529544
1099 Tigrao 2.224070450 0.0487582674
1100 Tigrao 2.233855186 0.0502848994
1101 Tigrao 2.243639922 0.0518435101
1102 Tigrao 2.253424658 0.0534338090
1103 Tigrao 2.263209393 0.0550452334
1104 Tigrao 2.272994129 0.0566983863
1105 Tigrao 2.282778865 0.0583619714
1106 Tigrao 2.292563601 0.0600768943
1107 Tigrao 2.302348337 0.0618018864
1108 Tigrao 2.312133072 0.0635671557
1109 Tigrao 2.321917808 0.0653521005
1110 Tigrao 2.331702544 0.0671665583
1111 Tigrao 2.341487280 0.0690097372
1112 Tigrao 2.351272016 0.0708720634
1113 Tigrao 2.361056751 0.0727715026
1114 Tigrao 2.370841487 0.0746802200
1115 Tigrao 2.380626223 0.0766337016
1116 Tigrao 2.390410959 0.0785957826
1117 Tigrao 2.400195695 0.0805922606
1118 Tigrao 2.409980431 0.0826051778
1119 Tigrao 2.419765166 0.0846427537
1120 Tigrao 2.429549902 0.0867037782
1121 Tigrao 2.439334638 0.0887804350
1122 Tigrao 2.449119374 0.0908866592
1123 Tigrao 2.458904110 0.0930002753
1124 Tigrao 2.468688845 0.0951486393
1125 Tigrao 2.478473581 0.0973034960
1126 Tigrao 2.488258317 0.0994843238
1127 Tigrao 2.498043053 0.1016772015
1128 Tigrao 2.507827789 0.1038881542
1129 Tigrao 2.517612524 0.1061157573
1130 Tigrao 2.527397260 0.1083544608
1131 Tigrao 2.537181996 0.1106134537
1132 Tigrao 2.546966732 0.1128775191
1133 Tigrao 2.556751468 0.1151645641
1134 Tigrao 2.566536204 0.1174557345
1135 Tigrao 2.576320939 0.1197634062
1136 Tigrao 2.586105675 0.1220784083
1137 Tigrao 2.595890411 0.1244044059
1138 Tigrao 2.605675147 0.1267400638
1139 Tigrao 2.615459883 0.1290821619
1140 Tigrao 2.625244618 0.1314354395
1141 Tigrao 2.635029354 0.1337915120
1142 Tigrao 2.644814090 0.1361595554
1143 Tigrao 2.654598826 0.1385296214
1144 Tigrao 2.664383562 0.1409077781
1145 Tigrao 2.674168297 0.1432893046
1146 Tigrao 2.683953033 0.1456758858
1147 Tigrao 2.693737769 0.1480666226
1148 Tigrao 2.703522505 0.1504601298
1149 Tigrao 2.713307241 0.1528581479
1150 Tigrao 2.723091977 0.1552572938
1151 Tigrao 2.732876712 0.1576610217
1152 Tigrao 2.742661448 0.1600655042
1153 Tigrao 2.752446184 0.1624730053
1154 Tigrao 2.762230920 0.1648817978
1155 Tigrao 2.772015656 0.1672925274
1156 Tigrao 2.781800391 0.1697050336
1157 Tigrao 2.791585127 0.1721187240
1158 Tigrao 2.801369863 0.1745347998
1159 Tigrao 2.811154599 0.1769514719
1160 Tigrao 2.820939335 0.1793714427
1161 Tigrao 2.830724070 0.1817921971
1162 Tigrao 2.840508806 0.1842160858
1163 Tigrao 2.850293542 0.1866419109
1164 Tigrao 2.860078278 0.1890706404
1165 Tigrao 2.869863014 0.1915030100
1166 Tigrao 2.879647750 0.1939378063
1167 Tigrao 2.889432485 0.1963786752
1168 Tigrao 2.899217221 0.1988210623
1169 Tigrao 2.909001957 0.2012728543
1170 Tigrao 2.918786693 0.2037269456
1171 Tigrao 2.928571429 0.2061902345
1172 Tigrao 2.938356164 0.2086590640
1173 Tigrao 2.948140900 0.2111362044
1174 Tigrao 2.957925636 0.2136232142
1175 Tigrao 2.967710372 0.2161168036
1176 Tigrao 2.977495108 0.2186258061
1177 Tigrao 2.987279843 0.2211386620
1178 Tigrao 2.997064579 0.2236737949
1179 Tigrao 3.006849315 0.2262140180
1180 Tigrao 3.016634051 0.2287746017
1181 Tigrao 3.026418787 0.2313466868
1182 Tigrao 3.036203523 0.2339360240
1183 Tigrao 3.045988258 0.2365446507
1184 Tigrao 3.055772994 0.2391661369
1185 Tigrao 3.065557730 0.2418161010
1186 Tigrao 3.075342466 0.2444731844
1187 Tigrao 3.085127202 0.2471693237
1188 Tigrao 3.094911937 0.2498739590
1189 Tigrao 3.104696673 0.2526125785
1190 Tigrao 3.114481409 0.2553695275
1191 Tigrao 3.124266145 0.2581539708
1192 Tigrao 3.134050881 0.2609678372
1193 Tigrao 3.143835616 0.2638013189
1194 Tigrao 3.153620352 0.2666764602
1195 Tigrao 3.163405088 0.2695620165
1196 Tigrao 3.173189824 0.2725024555
1197 Tigrao 3.182974560 0.2754543770
1198 Tigrao 3.192759295 0.2784522283
1199 Tigrao 3.202544031 0.2814739252
1200 Tigrao 3.212328767 0.2845313905
1201 Tigrao 3.222113503 0.2876257187
1202 Tigrao 3.231898239 0.2907446224
1203 Tigrao 3.241682975 0.2939137965
1204 Tigrao 3.251467710 0.2970955384
1205 Tigrao 3.261252446 0.3003410479
1206 Tigrao 3.271037182 0.3035993943
1207 Tigrao 3.280821918 0.3069090876
1208 Tigrao 3.290606654 0.3102443994
1209 Tigrao 3.300391389 0.3136181388
1210 Tigrao 3.310176125 0.3170298690
1211 Tigrao 3.319960861 0.3204669262
1212 Tigrao 3.329745597 0.3239535566
1213 Tigrao 3.339530333 0.3274525802
1214 Tigrao 3.349315068 0.3310115668
1215 Tigrao 3.359099804 0.3345820105
1216 Tigrao 3.368884540 0.3381982818
1217 Tigrao 3.378669276 0.3418361183
1218 Tigrao 3.388454012 0.3455063025
1219 Tigrao 3.398238748 0.3492063877
1220 Tigrao 3.408023483 0.3529264067
1221 Tigrao 3.417808219 0.3566824611
1222 Tigrao 3.427592955 0.3604475243
1223 Tigrao 3.437377691 0.3642521275
1224 Tigrao 3.447162427 0.3680633964
1225 Tigrao 3.456947162 0.3719013280
1226 Tigrao 3.466731898 0.3757498282
1227 Tigrao 3.476516634 0.3796141813
1228 Tigrao 3.486301370 0.3834898374
1229 Tigrao 3.496086106 0.3873730288
1230 Tigrao 3.505870841 0.3912647035
1231 Tigrao 3.515655577 0.3951584990
1232 Tigrao 3.525440313 0.3990540457
1233 Tigrao 3.535225049 0.4029480558
1234 Tigrao 3.545009785 0.4068359199
1235 Tigrao 3.554794521 0.4107167231
1236 Tigrao 3.564579256 0.4145869351
1237 Tigrao 3.574363992 0.4184402827
1238 Tigrao 3.584148728 0.4222823874
1239 Tigrao 3.593933464 0.4260932985
1240 Tigrao 3.603718200 0.4298964113
1241 Tigrao 3.613502935 0.4336492793
1242 Tigrao 3.623287671 0.4373897874
1243 Tigrao 3.633072407 0.4410808557
1244 Tigrao 3.642857143 0.4447424893
1245 Tigrao 3.652641879 0.4483599709
1246 Tigrao 3.662426614 0.4519261336
1247 Tigrao 3.672211350 0.4554580835
1248 Tigrao 3.681996086 0.4589119874
1249 Tigrao 3.691780822 0.4623463797
1250 Tigrao 3.701565558 0.4656711867
1251 Tigrao 3.711350294 0.4689716870
1252 Tigrao 3.721135029 0.4721749604
1253 Tigrao 3.730919765 0.4753249057
1254 Tigrao 3.740704501 0.4783948588
1255 Tigrao 3.750489237 0.4813778940
1256 Tigrao 3.760273973 0.4843029839
1257 Tigrao 3.770058708 0.4871032097
1258 Tigrao 3.779843444 0.4898722194
1259 Tigrao 3.789628180 0.4924743383
1260 Tigrao 3.799412916 0.4950410139
1261 Tigrao 3.809197652 0.4974659164
1262 Tigrao 3.818982387 0.4998160266
1263 Tigrao 3.828767123 0.5020539484
1264 Tigrao 3.838551859 0.5041742032
1265 Tigrao 3.848336595 0.5062160133
1266 Tigrao 3.858121331 0.5080941911
1267 Tigrao 3.867906067 0.5099314608
1268 Tigrao 3.877690802 0.5115565269
1269 Tigrao 3.887475538 0.5131377842
1270 Tigrao 3.897260274 0.5145438071
1271 Tigrao 3.907045010 0.5158598273
1272 Tigrao 3.916829746 0.5170408436
1273 Tigrao 3.926614481 0.5180838309
1274 Tigrao 3.936399217 0.5190347990
1275 Tigrao 3.946183953 0.5197984639
1276 Tigrao 3.955968689 0.5205153028
1277 Tigrao 3.965753425 0.5209949240
1278 Tigrao 3.975538160 0.5214266871
1279 Tigrao 3.985322896 0.5216670178
1280 Tigrao 3.995107632 0.5218112163
1281 Tigrao 4.004892368 0.5218112163
1282 Tigrao 4.014677104 0.5216670178
1283 Tigrao 4.024461840 0.5214266871
1284 Tigrao 4.034246575 0.5209949240
1285 Tigrao 4.044031311 0.5205153028
1286 Tigrao 4.053816047 0.5197984639
1287 Tigrao 4.063600783 0.5190347990
1288 Tigrao 4.073385519 0.5180838309
1289 Tigrao 4.083170254 0.5170408436
1290 Tigrao 4.092954990 0.5158598273
1291 Tigrao 4.102739726 0.5145438071
1292 Tigrao 4.112524462 0.5131377842
1293 Tigrao 4.122309198 0.5115565269
1294 Tigrao 4.132093933 0.5099314608
1295 Tigrao 4.141878669 0.5080941911
1296 Tigrao 4.151663405 0.5062160133
1297 Tigrao 4.161448141 0.5041742032
1298 Tigrao 4.171232877 0.5020539484
1299 Tigrao 4.181017613 0.4998160266
1300 Tigrao 4.190802348 0.4974659164
1301 Tigrao 4.200587084 0.4950410139
1302 Tigrao 4.210371820 0.4924743383
1303 Tigrao 4.220156556 0.4898722194
1304 Tigrao 4.229941292 0.4871032097
1305 Tigrao 4.239726027 0.4843029839
1306 Tigrao 4.249510763 0.4813778940
1307 Tigrao 4.259295499 0.4783948588
1308 Tigrao 4.269080235 0.4753249057
1309 Tigrao 4.278864971 0.4721749604
1310 Tigrao 4.288649706 0.4689716870
1311 Tigrao 4.298434442 0.4656711867
1312 Tigrao 4.308219178 0.4623463797
1313 Tigrao 4.318003914 0.4589119874
1314 Tigrao 4.327788650 0.4554580835
1315 Tigrao 4.337573386 0.4519261336
1316 Tigrao 4.347358121 0.4483599709
1317 Tigrao 4.357142857 0.4447424893
1318 Tigrao 4.366927593 0.4410808557
1319 Tigrao 4.376712329 0.4373897874
1320 Tigrao 4.386497065 0.4336492793
1321 Tigrao 4.396281800 0.4298964113
1322 Tigrao 4.406066536 0.4260932985
1323 Tigrao 4.415851272 0.4222823874
1324 Tigrao 4.425636008 0.4184402827
1325 Tigrao 4.435420744 0.4145869351
1326 Tigrao 4.445205479 0.4107167231
1327 Tigrao 4.454990215 0.4068359199
1328 Tigrao 4.464774951 0.4029480558
1329 Tigrao 4.474559687 0.3990540457
1330 Tigrao 4.484344423 0.3951584990
1331 Tigrao 4.494129159 0.3912647035
1332 Tigrao 4.503913894 0.3873730288
1333 Tigrao 4.513698630 0.3834898374
1334 Tigrao 4.523483366 0.3796141813
1335 Tigrao 4.533268102 0.3757498282
1336 Tigrao 4.543052838 0.3719013280
1337 Tigrao 4.552837573 0.3680633964
1338 Tigrao 4.562622309 0.3642521275
1339 Tigrao 4.572407045 0.3604475243
1340 Tigrao 4.582191781 0.3566824611
1341 Tigrao 4.591976517 0.3529264067
1342 Tigrao 4.601761252 0.3492063877
1343 Tigrao 4.611545988 0.3455063025
1344 Tigrao 4.621330724 0.3418361183
1345 Tigrao 4.631115460 0.3381982818
1346 Tigrao 4.640900196 0.3345820105
1347 Tigrao 4.650684932 0.3310115668
1348 Tigrao 4.660469667 0.3274525802
1349 Tigrao 4.670254403 0.3239535566
1350 Tigrao 4.680039139 0.3204669262
1351 Tigrao 4.689823875 0.3170298690
1352 Tigrao 4.699608611 0.3136181388
1353 Tigrao 4.709393346 0.3102443994
1354 Tigrao 4.719178082 0.3069090876
1355 Tigrao 4.728962818 0.3035993943
1356 Tigrao 4.738747554 0.3003410479
1357 Tigrao 4.748532290 0.2970955384
1358 Tigrao 4.758317025 0.2939137965
1359 Tigrao 4.768101761 0.2907446224
1360 Tigrao 4.777886497 0.2876257187
1361 Tigrao 4.787671233 0.2845313905
1362 Tigrao 4.797455969 0.2814739252
1363 Tigrao 4.807240705 0.2784522283
1364 Tigrao 4.817025440 0.2754543770
1365 Tigrao 4.826810176 0.2725024555
1366 Tigrao 4.836594912 0.2695620165
1367 Tigrao 4.846379648 0.2666764602
1368 Tigrao 4.856164384 0.2638013189
1369 Tigrao 4.865949119 0.2609678372
1370 Tigrao 4.875733855 0.2581539708
1371 Tigrao 4.885518591 0.2553695275
1372 Tigrao 4.895303327 0.2526125785
1373 Tigrao 4.905088063 0.2498739590
1374 Tigrao 4.914872798 0.2471693237
1375 Tigrao 4.924657534 0.2444731844
1376 Tigrao 4.934442270 0.2418161010
1377 Tigrao 4.944227006 0.2391661369
1378 Tigrao 4.954011742 0.2365446507
1379 Tigrao 4.963796477 0.2339360240
1380 Tigrao 4.973581213 0.2313466868
1381 Tigrao 4.983365949 0.2287746017
1382 Tigrao 4.993150685 0.2262140180
1383 Tigrao 5.002935421 0.2236737949
1384 Tigrao 5.012720157 0.2211386620
1385 Tigrao 5.022504892 0.2186258061
1386 Tigrao 5.032289628 0.2161168036
1387 Tigrao 5.042074364 0.2136232142
1388 Tigrao 5.051859100 0.2111362044
1389 Tigrao 5.061643836 0.2086590640
1390 Tigrao 5.071428571 0.2061902345
1391 Tigrao 5.081213307 0.2037269456
1392 Tigrao 5.090998043 0.2012728543
1393 Tigrao 5.100782779 0.1988210623
1394 Tigrao 5.110567515 0.1963786752
1395 Tigrao 5.120352250 0.1939378063
1396 Tigrao 5.130136986 0.1915030100
1397 Tigrao 5.139921722 0.1890706404
1398 Tigrao 5.149706458 0.1866419109
1399 Tigrao 5.159491194 0.1842160858
1400 Tigrao 5.169275930 0.1817921971
1401 Tigrao 5.179060665 0.1793714427
1402 Tigrao 5.188845401 0.1769514719
1403 Tigrao 5.198630137 0.1745347998
1404 Tigrao 5.208414873 0.1721187240
1405 Tigrao 5.218199609 0.1697050336
1406 Tigrao 5.227984344 0.1672925274
1407 Tigrao 5.237769080 0.1648817978
1408 Tigrao 5.247553816 0.1624730053
1409 Tigrao 5.257338552 0.1600655042
1410 Tigrao 5.267123288 0.1576610217
1411 Tigrao 5.276908023 0.1552572938
1412 Tigrao 5.286692759 0.1528581479
1413 Tigrao 5.296477495 0.1504601298
1414 Tigrao 5.306262231 0.1480666226
1415 Tigrao 5.316046967 0.1456758858
1416 Tigrao 5.325831703 0.1432893046
1417 Tigrao 5.335616438 0.1409077781
1418 Tigrao 5.345401174 0.1385296214
1419 Tigrao 5.355185910 0.1361595554
1420 Tigrao 5.364970646 0.1337915120
1421 Tigrao 5.374755382 0.1314354395
1422 Tigrao 5.384540117 0.1290821619
1423 Tigrao 5.394324853 0.1267400638
1424 Tigrao 5.404109589 0.1244044059
1425 Tigrao 5.413894325 0.1220784083
1426 Tigrao 5.423679061 0.1197634062
1427 Tigrao 5.433463796 0.1174557345
1428 Tigrao 5.443248532 0.1151645641
1429 Tigrao 5.453033268 0.1128775191
1430 Tigrao 5.462818004 0.1106134537
1431 Tigrao 5.472602740 0.1083544608
1432 Tigrao 5.482387476 0.1061157573
1433 Tigrao 5.492172211 0.1038881542
1434 Tigrao 5.501956947 0.1016772015
1435 Tigrao 5.511741683 0.0994843238
1436 Tigrao 5.521526419 0.0973034960
1437 Tigrao 5.531311155 0.0951486393
1438 Tigrao 5.541095890 0.0930002753
1439 Tigrao 5.550880626 0.0908866592
1440 Tigrao 5.560665362 0.0887804350
1441 Tigrao 5.570450098 0.0867037782
1442 Tigrao 5.580234834 0.0846427537
1443 Tigrao 5.590019569 0.0826051778
1444 Tigrao 5.599804305 0.0805922606
1445 Tigrao 5.609589041 0.0785957826
1446 Tigrao 5.619373777 0.0766337016
1447 Tigrao 5.629158513 0.0746802200
1448 Tigrao 5.638943249 0.0727715026
1449 Tigrao 5.648727984 0.0708720634
1450 Tigrao 5.658512720 0.0690097372
1451 Tigrao 5.668297456 0.0671665583
1452 Tigrao 5.678082192 0.0653521005
1453 Tigrao 5.687866928 0.0635671557
1454 Tigrao 5.697651663 0.0618018864
1455 Tigrao 5.707436399 0.0600768943
1456 Tigrao 5.717221135 0.0583619714
1457 Tigrao 5.727005871 0.0566983863
1458 Tigrao 5.736790607 0.0550452334
1459 Tigrao 5.746575342 0.0534338090
1460 Tigrao 5.756360078 0.0518435101
1461 Tigrao 5.766144814 0.0502848994
1462 Tigrao 5.775929550 0.0487582674
1463 Tigrao 5.785714286 0.0472529544
1464 Tigrao 5.795499022 0.0457905329
1465 Tigrao 5.805283757 0.0443388343
1466 Tigrao 5.815068493 0.0429409023
1467 Tigrao 5.824853229 0.0415537220
1468 Tigrao 5.834637965 0.0402095489
1469 Tigrao 5.844422701 0.0388868141
1470 Tigrao 5.854207436 0.0375962370
1471 Tigrao 5.863992172 0.0363376304
1472 Tigrao 5.873776908 0.0351003376
1473 Tigrao 5.883561644 0.0339053094
1474 Tigrao 5.893346380 0.0327208473
1475 Tigrao 5.903131115 0.0315886278
1476 Tigrao 5.912915851 0.0304667141
1477 Tigrao 5.922700587 0.0293860231
1478 Tigrao 5.932485323 0.0283256108
1479 Tigrao 5.942270059 0.0272956165
1480 Tigrao 5.952054795 0.0262954761
1481 Tigrao 5.961839530 0.0253152384
1482 Tigrao 5.971624266 0.0243739743
1483 Tigrao 5.981409002 0.0234424537
1484 Tigrao 5.991193738 0.0225585212
1485 Tigrao 6.000978474 0.0216838645
1486 Tigrao 6.010763209 0.0208463109
1487 Tigrao 6.020547945 0.0200267971
1488 Tigrao 6.030332681 0.0192343428
1489 Tigrao 6.040117417 0.0184681437
1490 Tigrao 6.049902153 0.0177194481
1491 Tigrao 6.059686888 0.0170046455
1492 Tigrao 6.069471624 0.0162983162
1493 Tigrao 6.079256360 0.0156329182
1494 Tigrao 6.089041096 0.0149754128
1495 Tigrao 6.098825832 0.0143494776
1496 Tigrao 6.108610568 0.0137387298
1497 Tigrao 6.118395303 0.0131507634
1498 Tigrao 6.128180039 0.0125846717
1499 Tigrao 6.137964775 0.0120331631
1500 Tigrao 6.147749511 0.0115096044
1501 Tigrao 6.157534247 0.0109930333
1502 Tigrao 6.167318982 0.0105098770
1503 Tigrao 6.177103718 0.0100331002
1504 Tigrao 6.186888454 0.0095818410
1505 Tigrao 6.196673190 0.0091427378
1506 Tigrao 6.206457926 0.0087218687
1507 Tigrao 6.216242661 0.0083183395
1508 Tigrao 6.226027397 0.0079263702
1509 Tigrao 6.235812133 0.0075563463
1510 Tigrao 6.245596869 0.0071918087
1511 Tigrao 6.255381605 0.0068532613
1512 Tigrao 6.265166341 0.0065196298
1513 Tigrao 6.274951076 0.0062056621
1514 Tigrao 6.284735812 0.0059009761
1515 Tigrao 6.294520548 0.0056102126
1516 Tigrao 6.304305284 0.0053325690
1517 Tigrao 6.314090020 0.0050636720
1518 Tigrao 6.323874755 0.0048112308
1519 Tigrao 6.333659491 0.0045629036
1520 Tigrao 6.343444227 0.0043338926
1521 Tigrao 6.353228963 0.0041085032
1522 Tigrao 6.363013699 0.0038975999
1523 Tigrao 6.372798434 0.0036934749
1524 Tigrao 6.382583170 0.0034995174
1525 Tigrao 6.392367906 0.0033150588
1526 Tigrao 6.402152642 0.0031369327
1527 Tigrao 6.411937378 0.0029706192
1528 Tigrao 6.421722114 0.0028072587
1529 Tigrao 6.431506849 0.0026576467
1530 Tigrao 6.441291585 0.0025105907
1531 Tigrao 6.451076321 0.0023737588
1532 Tigrao 6.460861057 0.0022416712
1533 Tigrao 6.470645793 0.0021166999
1534 Tigrao 6.480430528 0.0019983221
1535 Tigrao 6.490215264 0.0018843400
1536 Tigrao 6.500000000 0.0017784901
$layers
$layers[[1]]
geom_polygon: na.rm = FALSE, rule = evenodd
stat_identity: na.rm = FALSE
position_identity
$layers[[2]]
mapping: xintercept = ~mean, colour = ~Item
geom_vline: na.rm = FALSE
stat_identity: na.rm = FALSE
position_identity
$layers[[3]]
geom_path: lineend = butt, linejoin = round, linemitre = 10, arrow = NULL, na.rm = FALSE
stat_identity: na.rm = FALSE
position_identity
$scales
<ggproto object: Class ScalesList, gg>
add: function
add_defaults: function
add_missing: function
backtransform_df: function
clone: function
find: function
get_scales: function
has_scale: function
input: function
map_df: function
n: function
non_position_scales: function
scales: list
train_df: function
transform_df: function
super: <ggproto object: Class ScalesList, gg>
$guides
<Guides[0] ggproto object>
<empty>
$mapping
Aesthetic mapping:
* `x` -> `x`
* `y` -> `y`
* `colour` -> `Item`
* `fill` -> `Item`
* `group` -> `Item`
$theme
$theme$axis.text.y
list()
- attr(*, "class")= chr [1:2] "element_blank" "element"
$theme$axis.ticks.y
list()
- attr(*, "class")= chr [1:2] "element_blank" "element"
$theme$legend.position
[1] "none"
$theme$panel.background
List of 5
$ fill : logi NA
$ colour : chr "grey70"
$ linewidth : num 1
$ linetype : NULL
$ inherit.blank: logi FALSE
- attr(*, "class")= chr [1:2] "element_rect" "element"
attr(,"complete")
[1] FALSE
attr(,"validate")
[1] TRUE
$coordinates
<ggproto object: Class CoordCartesian, Coord, gg>
aspect: function
backtransform_range: function
clip: on
default: TRUE
distance: function
expand: TRUE
is_free: function
is_linear: function
labels: function
limits: list
modify_scales: function
range: function
render_axis_h: function
render_axis_v: function
render_bg: function
render_fg: function
setup_data: function
setup_layout: function
setup_panel_guides: function
setup_panel_params: function
setup_params: function
train_panel_guides: function
transform: function
super: <ggproto object: Class CoordCartesian, Coord, gg>
$facet
<ggproto object: Class FacetWrap, Facet, gg>
compute_layout: function
draw_back: function
draw_front: function
draw_labels: function
draw_panels: function
finish_data: function
init_scales: function
map_data: function
params: list
setup_data: function
setup_params: function
shrink: TRUE
train_scales: function
vars: function
super: <ggproto object: Class FacetWrap, Facet, gg>
$plot_env
<environment: 0x0000014b99168bc0>
$layout
<ggproto object: Class Layout, gg>
coord: NULL
coord_params: list
facet: NULL
facet_params: list
finish_data: function
get_scales: function
layout: NULL
map_position: function
panel_params: NULL
panel_scales_x: NULL
panel_scales_y: NULL
render: function
render_labels: function
reset_scales: function
resolve_label: function
setup: function
setup_panel_guides: function
setup_panel_params: function
train_position: function
super: <ggproto object: Class Layout, gg>
$labels
$labels$y
[1] ""
$labels$x
[1] ""
$labels$colour
[1] "Item"
$labels$fill
[1] "Item"
$labels$group
[1] "Item"
$labels$xintercept
[1] "mean"
attr(,"class")
[1] "gg" "ggplot"