Considere a quantidade total de mortes por câncer de PROSTATA, por anos, segundo localidade (unidade federativa), em homens, com faixa etária de 40 a 99+, entre os anos de 2010 e 2017.
Pergunta: Como calcular a média e o desvio padrão por ano em relação a quantidade total de mortes por câncer de PROSTATA?
Limpando a memória de atividades anteriores realizadas no R
rm(list=ls())
setwd("C:/Users/admin/Dropbox/UFGD/2019_02_Disciplinas/Topicos_Estatistica_R/3_Aula/Dados_Aula_03")
prostata = readxl::read_xlsx("prostata.xlsx")
Estados | QTD | Ano |
---|---|---|
Acre | 20 | 2010 |
Alagoas | 123 | 2010 |
Amapá | 18 | 2010 |
Amazonas | 97 | 2010 |
Bahia | 978 | 2010 |
Ceará | 569 | 2010 |
qtd = prostata$QTD
class(qtd) #Tipo da variável
## [1] "numeric"
\[ \bar{x} = \frac{\displaystyle\sum_{i=1}^{n}x_{i}}{n} \]
n_qtd = length(qtd)
n_qtd
## [1] 216
sum_qtd = sum(qtd)
sum_qtd
## [1] 111791
mu_qtd = sum_qtd/n_qtd
mu_qtd
## [1] 517.5509
mean(qtd)
## [1] 517.5509
A mediana de um conjunto de dados é o valor central quando os dados são organizados em ordem crescente.
Sempre que um conjunto de dados tiver valores extremos, a mediana é a medida de posição central preferida.
A mediana é a medida de posição mais frequentemente utilizada para dados de renda anual e valor patrimonial.
Consideremos, agora, as observações ordenadas em ordem crescente. Vamos denotar a menor observação por \(x_{(1)}\), a segunda por \(x_{(2)}\), e assim por diante, obtendo-se: \(x_{(1)} \leq x_{(2)} \leq \cdots \leq x_{(n)}\)
Estas observações ordenadas são denominadas de Estatística de Ordem. Assim, com esta notação, a mediana para a variável X é determinada da seguinte forma:
\(md(X)= X_{((n+1)/2)}\), se n ímpar.
\(md(X) = \frac{X_{(n/2)} + X_{(n/2 + 1)}}{2}\),se n par.
Para um número mpar de observações a mediana é o valor central.
Para um número par de observaçõe a mediana é a média dos dois valores centrais.
md = median(qtd)
md
## [1] 277
Podemos definir uma medida, chamada quantil de ordem p ou p-quantil, indicada por q(p), em que p é uma proporção qualquer, 0 < p < 1, tal que \(100p\%\) das observações sejam menores do que q(p).
quantile(qtd)
## 0% 25% 50% 75% 100%
## 16.00 153.00 277.00 680.25 3098.00
quantile(qtd,
c(0, 0.2, 0.7, 1))
## 0% 20% 70% 100%
## 16.0 127.0 488.5 3098.0
quantile(qtd,
c(0.25, 0.50, 0.75))
## 25% 50% 75%
## 153.00 277.00 680.25
Amplitude
Amplitude Interquartil
Desvio Médio
Variância
Desvio Padrão
Coeficiente de Variação
min(qtd) #Valor minimo
## [1] 16
max(qtd) #Valor máximo
## [1] 3098
range(qtd)
## [1] 16 3098
A amplitude interquartil (IQR) de um conjunto de dados é a diferença entre o terceiro quartil e o primeiro quartil:
Q1 = quantile(qtd, 0.25)
Q3 = quantile(qtd, 0.75)
IQR1 = Q3 - Q1
IQR1
## 75%
## 527.25
# Ou uma forma mais simples
IQR(qtd)
## [1] 527.25
\[ s^{2} = \frac{\displaystyle\sum_{i=1}^{n}(x_{i} - \bar{x})^{2}}{n-1} \]
s2 = var(qtd)
s2
## [1] 377142.5
s = sqrt(s2)
s
## [1] 614.1193
sd(qtd)
## [1] 614.1193
O coeficiente de variação mede o desvio padrão em relação à média.
\[ CV(\%) = \frac{dp(X)}{\bar{x}} \times 100(\%)\]
CV = (sd(qtd)/mean(qtd))*100
CV
## [1] 118.6587
Os procedimentos de análise exploratória de dados nos permitem utilizar aritmética simples e gráficos fáceis de serem desenhados para sintetizar os dados. Primeiro classificamos os valores de dados em ordem crescente e identificamos a regra dos cinco itens e, então, construímos um Box-Plot.
min(qtd)
## [1] 16
quantile(qtd, 0.25)
## 25%
## 153
median(qtd)
## [1] 277
quantile(qtd, 0.75)
## 75%
## 680.25
max(qtd)
## [1] 3098
summary(qtd)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 16.0 153.0 277.0 517.6 680.2 3098.0
Um box plot (diagrama em caixa) é um resumo gráfico de dados que se baseia na regra de cinco itens.
A chave para o desenvolvimento de um box plot é o cálculo da mediana e dos quartis Q1 e Q3.
Os box plots constituem uma maneira de identificar outliers (ponto atípicos).
Os limites são determinados utilizando a amplitude interquartil (IQR). O limite inferior está posicionado a 1,5(IQR) abaixo de Q1. O limite superior está posicionado a 1,5(IQR) acima de Q3.
Os dados além desses limites são considerados outliers. A posição de cada outlier é indicada pelo símbolo “*“.
O box plot dá uma ideia da posição, dispersão, assimetria, caudas e dados discrepantes.
A posição central é dada pela mediana e a dispersãoo pela IQR.
As posições relativas de q1, q2, q3 dão uma noção da assimetria da distribuição.
Forma mais simples de fazer um boxplot
boxplot(qtd)
Quando os dados são assimétricos, a maior parte dos dados está localizada no lado superior ou inferior do gráfico boxplot.
A assimetria indica que os dados podem não ser normalmente distribuídos.
Para determinar a assimetria podemos utilizar a seguinte expressão:
\[ AS = \frac{\left(\displaystyle\sum_{i=1}^{n}(x_{i} - \bar{x})^{3}/n\right)}{s^3} \]
(sum((qtd-mean(qtd))^3)/length(qtd))/(sd(qtd)^3)
## [1] 2.259245
#Forma mais simples
library(e1071)
skewness(qtd)
## [1] 2.259245
Até agora, examinamos os métodos numéricos utilizados para sintetizar os dados para uma variável de cada vez.
Frequentemente, um gerente ou tomador de decisões está interessado na relação entre duas variáveis.
Duas medidas descritivas da relaçãoo entre duas variáveis são a covariância e o coeficiente de correlação.
A covariância é a medida da associaçãoo linear entre duas variáveis.
Valores positivos indicam uma associação linear positiva.
Valores negativos indicam uma associação linear negativa.
A covariância é calculada da seguinte maneira:
\[ s_{xy} = \frac{\sum_{i=1}^{n}\left(x_{i} - \bar{x}\right)\left(y_{i} - \bar{y}\right)}{n-1} \] ### Coeficiente de Correlação
A correlação é uma medida de associação linear, e não necessariamente de causa.
Apenas porque duas variáveis são altamente correlacionadas, não significa que alterações em uma variável seja a causa de alterações em outra.
O coeficiente de correlação é calculado do seguinte modo:
\[r_{xy}= \frac{s_{xy}}{\left(s_{x} s_{y} \right)}\]
Informações sobre estado civil, grau de instrução, número de filhos, salário (expresso como fração do salário mínimo), idade (medida em anos e meses) e procedência de 36 empregados da seção de orçamentos da Companhia MB.
setwd("C:/Users/admin/Dropbox/UFGD/2019_02_Disciplinas/Topicos_Estatistica_R/3_Aula/Dados_Aula_03")
Tabela_Bus2 = readxl::read_xlsx("Tabela_Bus2.xlsx")
require(ggplot2)
## Carregando pacotes exigidos: ggplot2
ggplot(Tabela_Bus2) +
geom_point(aes(x = Idade, y = Salario_Min),
size = 3) +
labs(title = 'Relação entre idade e salário mínimo',
x = 'Idade',
y = 'Salário (R$)')
cov(Tabela_Bus2$Idade, Tabela_Bus2$Salario_Min)
## [1] 11.23067
cor(Tabela_Bus2$Idade, Tabela_Bus2$Salario_Min)
## [1] 0.3633622
Além de calcular estas médias vamos construir gráficos
#Média
aggregate(QTD ~ Ano,
FUN = mean,
data=prostata)
## Ano QTD
## 1 2010 472.6667
## 2 2011 485.3704
## 3 2012 493.4815
## 4 2013 509.2963
## 5 2014 523.5556
## 6 2015 535.2963
## 7 2016 551.6667
## 8 2017 569.0741
#Desvio padrão
aggregate(QTD ~ Ano,
FUN = sd,
data=prostata)
## Ano QTD
## 1 2010 589.0761
## 2 2011 589.9982
## 3 2012 611.1790
## 4 2013 608.4880
## 5 2014 619.0928
## 6 2015 634.0542
## 7 2016 658.3919
## 8 2017 672.9204
ggplot(prostata, aes(x = factor(Ano), y = QTD)) +
geom_boxplot() +
labs(y = "Quantidade total de mortes por câncer de PROSTATA")
Conjunto de dados: casos de câncer não melanoma em mulheres nas duas regiões por faixa etária.
Local do estudo: Dallas – Ft e Minneapolis – St.
setwd("C:/Users/admin/Dropbox/UFGD/2019_02_Disciplinas/Topicos_Estatistica_R/3_Aula/Dados_Aula_03")
nonmel = readxl::read_xlsx("nonmel.xlsx")
cases | pop | city | Age |
---|---|---|---|
1 | 172675 | Minneapolis | 15_24 |
16 | 123065 | Minneapolis | 25_34 |
30 | 96216 | Minneapolis | 35_44 |
71 | 92051 | Minneapolis | 45_54 |
102 | 72159 | Minneapolis | 55_64 |
130 | 54722 | Minneapolis | 65_74 |
133 | 32185 | Minneapolis | 75_84 |
40 | 8328 | Minneapolis | 85+ |
4 | 181343 | Dallas | 15_24 |
38 | 146207 | Dallas | 25_34 |
119 | 121374 | Dallas | 35_44 |
221 | 111353 | Dallas | 45_54 |
259 | 83004 | Dallas | 55_64 |
310 | 55932 | Dallas | 65_74 |
226 | 29007 | Dallas | 75_84 |
65 | 7583 | Dallas | 85+ |
mean(nonmel$cases)
## [1] 110.3125
sd(nonmel$cases)
## [1] 96.96509
(sd(nonmel$cases)/mean(nonmel$cases))*100
## [1] 87.90037
aggregate(cases~city, data=nonmel, FUN=mean)
## city cases
## 1 Dallas 155.250
## 2 Minneapolis 65.375
aggregate(cases~city, data=nonmel, FUN=sd)
## city cases
## 1 Dallas 113.46711
## 2 Minneapolis 51.54731
quantile(nonmel$cases, c(0.30, 0.90))
## 30% 90%
## 39.0 242.5
Dica: Ao utilizar o ggplot2, no eixo x, coloque o city
require(ggplot2)
ggplot(nonmel, aes(x = city, y = cases)) +
geom_boxplot(fill = c("#fc7fb2", "#b1e8ed")) +
theme_classic()
Descrição: Taxas de partos cesáreos por operadora de plano de saúde no ano de 2018
Operadora: Nome da Operadora do Plano de Saúde
Porte: Porte da Operadora
Cesareas: Quantidade de Partos por cesariana
Quantidade Total de Partos
Taxa_cesa: Taxas de partos cesáreos
setwd("C:/Users/admin/Dropbox/UFGD/2019_02_Disciplinas/Topicos_Estatistica_R/3_Aula/Dados_Aula_03")
parto = readxl::read_xlsx("parto.xlsx")
Operadora | Porte | Cesareas | Partos | Taxa_cesa |
---|---|---|---|---|
AMIL ASSISTÊNCIA MÉDICA INTERNACIONAL S.A. | GRANDE | 41618 | 50077 | 0.8310801 |
BRADESCO SAÚDE S.A. | GRANDE | 43358 | 49241 | 0.8805264 |
HAPVIDA ASSISTENCIA MEDICA LTDA | GRANDE | 33869 | 45082 | 0.7512755 |
NOTRE DAME INTERMÉDICA SAÚDE S.A. | GRANDE | 22283 | 30501 | 0.7305662 |
CENTRAL NACIONAL UNIMED - COOPERATIVA CENTRAL | GRANDE | 21441 | 24903 | 0.8609806 |
SUL AMERICA COMPANHIA DE SEGURO SAÚDE | GRANDE | 19171 | 22883 | 0.8377835 |
mean(parto$Taxa_cesa)
## [1] 0.8601442
sd(parto$Taxa_cesa)
## [1] 0.1287224
(sd(parto$Taxa_cesa)/mean(parto$Taxa_cesa))*100
## [1] 14.96521
aggregate(Taxa_cesa ~ Porte, data = parto, FUN=mean)
## Porte Taxa_cesa
## 1 GRANDE 0.8297685
## 2 MEDIO 0.8583163
## 3 PEQUENO 0.8677564
aggregate(Taxa_cesa ~ Porte, data = parto, FUN=sd)
## Porte Taxa_cesa
## 1 GRANDE 0.08258668
## 2 MEDIO 0.10610267
## 3 PEQUENO 0.14814777
quantile(parto$Taxa_cesa, c(0.30, 0.90))
## 30% 90%
## 0.8352846 0.9763712
Dica: Ao utilizar o ggplot2, no eixo x, coloque o age
require(ggplot2)
ggplot(parto, aes(x = Porte, y = Taxa_cesa)) +
geom_boxplot(fill = cm.colors(3)) +
theme_classic()