1 Introdução

  • Trabalho criado com a orientação do professor Caio Oliveira Azevedo.

  • Questões retiradas do livro ESTATÍSTICA BÁSICA, 9º edição, Pedro A. Morettin Wilton de O. Bussab.

  • Para mais informações siga nas redes sociais Instagram (@obraga_16)

  • Pacotes a serem utilizados em todo o trabalho.

library(readxl)
library(descr)
library(fdth)
library(ggplot2)
library(graphics)

2 Capítulo 2

2.1 Problema 2 do capitulo 2

  1. Usando os dados da Tabela 2.1, construa a distribuição de frequências das variáveis:
  1. Estado civil.
  2. Região de procedência.
  3. Número de filhos dos empregados casados.
  4. Idade.
site <- "https://raw.githubusercontent.com/caio-azevedo/Aulas/main/cia_MB.csv"
dados<- read.table(site, header=T, sep=";", dec = ",", col.names = c("obs", "X", "Y", "Z", "S", "U", "V"))
attach(dados)
#View(dados) Se quiser vizualizar a tabela.
Problema 2 do capítulo 2
Problema 2 do capítulo 2

2.1.1 a)

freq(X, plot = FALSE)
## X 
##          Frequência Percentual
## casado           20      55.56
## solteiro         16      44.44
## Total            36     100.00

2.1.2 b)

freq(Y, plot = FALSE)
## Y 
##                    Frequência Percentual
## ensino fundamental         12      33.33
## ensino médio               18      50.00
## superior                    6      16.67
## Total                      36     100.00

2.1.3 c)

freq(Z, plot = FALSE)
## Z 
##       Frequência Percentual Perc. Válido
## 0              4     11.111           20
## 1              5     13.889           25
## 2              7     19.444           35
## 3              3      8.333           15
## 5              1      2.778            5
## NA's          16     44.444             
## Total         36    100.000          100

2.1.4 d)

# número de classe
n_class<- nclass.FD(U)
# Dividindo a amplitude total pelo número de classes e
# arredondando para cima.
amp<- ceiling((max(U)-min(U))/n_class)
tab<-fdt(U,start = min(U), end = min(U)+amp*n_class, h=amp)
tab
##  Class limits  f   rf rf(%) cf  cf(%)
##       [20,26)  3 0.08  8.33  3   8.33
##       [26,32)  9 0.25 25.00 12  33.33
##       [32,38) 12 0.33 33.33 24  66.67
##       [38,44)  9 0.25 25.00 33  91.67
##       [44,50)  3 0.08  8.33 36 100.00

2.2 Problema 5 do capítulo 2

Usando os resultados do Problema 2 e da Tabela 2.3:
(a) construa um histograma para a variável idade;
(b) proponha uma representação gráfica para a variável grau de instrução.

2.2.1 a)

#histograma da idade

hist(U, main = "", freq = FALSE, xlab = "Idade",breaks = seq(20,50,6),ylab = "Densidade",xaxp=c(20,50,5),ylim = c(0,0.1))

2.2.2 b)

Gráfico de pizza.

porc<-round(prop.table(table(Y))*100,2)
grau_intr<-c("Fundamental","Médio", "Superior")
rotulos=paste(grau_intr," - (",porc,"%)",sep="")
pie(table(Y), labels = rotulos, radius=0.95,init.angle = 180,
    border = NA, col=c("salmon", "limegreen", "dodgerblue"))

Grafíco de barras.

barplot(table(Y),
        ylab="Freq",
        cex.lab=1.6, cex.names=1.3, cex.axis = 1.3,
        col=c("salmon", "limegreen", "dodgerblue"),
        
        axes=TRUE,
        ylim=c(0,20))

2.3 Problema 9 do capítulo 2

A MB Indústria e Comércio, desejando melhorar o nível de seus funcionários em cargos de chefia, montou um curso experimental e indicou 25 funcionários para a primeira turma. Os dados referentes à seção a que pertencem, notas e graus obtidos no curso estão na tabela a seguir. Como havia dúvidas quanto à adoção de um único critério de avaliação, cada instrutor adotou seu próprio sistema de aferição. Usando dados daquela tabela, responda as questões:
(a) Após observar atentamente cada variável, e com o intuito de resumi-las, como você identificaria (qualitativa ordinal ou nominal e quantitativa discreta ou contínua) cada uma das 9 variáveis listadas?
(b) Compare e indique as diferenças existentes entre as distribuições das variáveis Direito, Política e Estatística.
(c) Construa o histograma para as notas da variável Redação. (d) Construa a distribuição de frequências da variável Metodologia e faça um gráfico para indicar essa distribuição.
(e) Sorteado ao acaso um dos 25 funcionários, qual a probabilidade de que ele tenha obtido grau A em Metodologia?
(f) Se, em vez de um, sorteássemos dois, a probabilidade de que ambos tivessem tido A em Metodologia é maior ou menor do que a resposta dada em (e)?
(g) Como é o aproveitamento dos funcionários na disciplina Estatística, segundo a seção a que eles pertencem?

Problema 9 do capítulo 2
Problema 9 do capítulo 2

2.3.1 a)

Criando vetores

Variaveis<- c("Secao", "Administracao", "Direito", "Redacao", "Estatisticas", "Ingles", "Metodologia", "Politica", "Economia")
Classificacao<- c("Quantitativa discreta", "Quantitativa continua ", "Quantitativa continua ","Quantitativa continua ","Quantitativa continua ", "Qualitativa ordinal", "Quaitativa ordinal", "Quantitativa continua ", "Quantitativa continua ")

Usando o data.frame

tabela1<- data.frame(Variaveis ,Classificacao )
tabela1
##       Variaveis          Classificacao
## 1         Secao  Quantitativa discreta
## 2 Administracao Quantitativa continua 
## 3       Direito Quantitativa continua 
## 4       Redacao Quantitativa continua 
## 5  Estatisticas Quantitativa continua 
## 6        Ingles    Qualitativa ordinal
## 7   Metodologia     Quaitativa ordinal
## 8      Politica Quantitativa continua 
## 9      Economia Quantitativa continua

2.3.2 b)

R- A variável Direito se tem nenhuma variação todos conseguiram a nota a 9,0, enquanto estatística tem variância maior comparada a Política.

2.3.3 c)

Importanto os dados

library(readxl)
pro9 <- read_excel("C:/Users/Cliente/Desktop/Gustavo/R/pro9.xlsx")
attach(pro9)

Construindo o histograma

hist(Redação, freq = FALSE, main = "Histograma de notas em Redação", xlab = "Notas", ylab = "Densidade")

2.3.4 d)

Usando a função fre(), com o plot=TRUE, o R cria um grafíco de barras simples.

freq(Metodologia, plot = TRUE)

## Metodologia 
##       Frequência Percentual
## A              7         28
## B              8         32
## C             10         40
## Total         25        100

2.3.5 e)

A<- grep("A", Metodologia) #grep() é para saber quem tirou A em Metodologia 
prob.A<- length(A)/length(Metodologia) #length() para saber quantas pessoas tiram A.
prob.A
## [1] 0.28

2.3.6 f)

Sendo sorteio simultâneo, usando análise combinatória;
Quantidade total de possibilidade é 25x24 = 600;
E os casos favoráveis é 7x6 = 42

p<- 42/600
p
## [1] 0.07

2.3.7 g)

Departamento Pessoal.

tabela.P<- pro9[grep("P", Secao),]

freq(tabela.P$Estatíst., plot = TRUE, main="Departamento Pessoal (P) - Estatísticas ")

## tabela.P$Estatíst. 
##       Frequência Percentual
## 8              3      42.86
## 9              3      42.86
## 10             1      14.29
## Total          7     100.00

Seção técnica.

tabela.T<- pro9[grep("T", Secao),]

freq(tabela.T$Estatíst., plot = TRUE, main="Seção técnica (T) - Estatísticas ")

## tabela.T$Estatíst. 
##       Frequência Percentual
## 7              2      28.57
## 8              2      28.57
## 9              2      28.57
## 10             1      14.29
## Total          7     100.00

Seção de vendas.

tabela.V<- pro9[grep("V", Secao),]

freq(tabela.V$Estatíst., plot = TRUE, main="Seção de vendas (V) - Estatísticas ")

## tabela.V$Estatíst. 
##       Frequência Percentual
## 4              1      9.091
## 7              3     27.273
## 8              2     18.182
## 9              4     36.364
## 10             1      9.091
## Total         11    100.000

2.4 Problema 10 do capítulo 2

Dispomos de uma relação de 200 aluguéis de imóveis urbanos e uma relação de 100 aluguéis rurais.
(a) Construa os histogramas das duas distribuições.
(b) Com base nos histogramas, discuta e compare as duas distribuições.
Problema 10 do capítulo 2
Problema 10 do capítulo 2

2.4.1 a)

Zona urbana;

alugueisZU <- c(rep(c(2,4,6,8.5,12.5),c(10,40,80,50,20))) #supondo um vetor com as mesma frequências em cada intervalo.
hist(alugueisZU,   
     main = "Histograma da zona urbana", xlab = "Aluguéis", ylab = "Densidade", #Nome ao histograma, Nome do eixo x, Nome do eixo y  
     freq = FALSE, #Freq=TRUE - para mostrar a frequência; Freq=FALSE - para mostrar a densidade  
     breaks = c(2,3,5,7,10,15), #Definir os limites das classes  
      xaxp=c(2,15,13), #Alterar a posiçao e quantidade de separadores dos eixos x  
     labels  = FALSE, #Se quiser colocar os valores em cima das barras  
     ylim =  c(0,0.25) #limitante do eixo y   
     ) 

Zona rural

alugueisZR<- c(rep(c(2,4,6,8.5,12.5),c(30,50,15,5,0)))  
#Criando o histograma, análogo ao exemplo da zona rural  
hist(alugueisZR,   
     main = "Histograma da zona rural", xlab = "Aluguéis", ylab = "Densidade",
     freq = FALSE,  
     breaks = c(2,3,5,7,10,15),  
      xaxp=c(2,15,13),   
     labels  = FALSE,   
     ylim =  c(0,0.4)) 

2.4.2 b)

Aluguéis na zona rual tem tendência a ser mais baratos.

3 Capítulo 3

3.1 Problema 2 do capítulo 3

As taxas de juros recebidas por 10 ações durante um certo período foram (medidas em porcentagem) 2,59; 2,64; 2,60; 2,62; 2,57; 2,55; 2,61; 2,50; 2,63; 2,64. Calcule a média, a mediana e o desvio padrão.

taxas<- c(2.59, 2.64, 2.60, 2.62, 2.57, 2.55, 2.61, 2.50, 2.63, 2.64)
#Média  
mean(taxas)
## [1] 2.595
#Mediana
median(taxas)
## [1] 2.605
#Desvio Padrão amostral 
sd(taxas)
## [1] 0.04453463
#Desvio Padrão populacional
sd(taxas)*sqrt((length(taxas)-1)/length(taxas))
## [1] 0.04224926

3.2 Problema 3 do capitulo 3

Para facilitar um projeto de ampliação da rede de esgoto de uma certa região de uma cidade, as autoridades tomaram uma amostra de tamanho 50 dos 270 quarteirões que compõem a região, e foram encontrados os seguintes números de casas por quarteirão:
(a) Use cinco intervalos e construa um histograma.
(b) Determine uma medida de posição central e uma medida de dispersão.

Problema 3 do capitulo 3
Problema 3 do capitulo 3

Primeiramente coletar os dados e importar para o R, ou pelo pacote “readxl” ou pelo pacote “readr”, tanto arquivos do Excel (.xlsx), quanto arquivos do bloco de notas (.txt).
Para isto, e poder visualizar os dados:

P3C3 <- read_excel("C:/Users/Cliente/Desktop/Gustavo/R/P3C3.xlsx", 
                  col_types = c("numeric"))
attach(P3C3)
#View(P3C3) Se quiser vizualizar a tabela. 

3.2.1 a)

Para o item (a), devemos usar o comando hist(), sendo o argumento a variável que queremos, que faça o histograma, com relação a densidade;

hist(quarteiroes, freq = FALSE)   

Para mudar os títulos dos eixos;  
  
hist(quarteiroes, freq = FALSE,
         main = "Quantidade de casas por quarteirão", 
         xlab = "Casas", ylab = "Densidade", )

Para separar as classes em 5, devemos ter em mente que a amplitude total da amostra é 97 - 2 = 95, que divido por 5 temos 19, ou seja, temos uma amplitude de classe igual a 19.
Adiante para determinar as classes usaremos a função breaks= c() permite definir o limite de cada classe, para isso basta determinar os valores limites das classes. No caso usaremos uma sequência para os valores da função.

hist(quarteiroes, freq = FALSE,
         main = "Quantidade de casas por quarteirão", 
         xlab = "Casas", ylab = "Freq. Absoluta",
     breaks = seq(2,97,19))

Para alinhar os separadores dos eixos x, usaremos a função xaxp que alterar a posição e quantidade de separadores. xaxp=c(“limite inferior”, “limite superior”, “quantidade de separadores”), no script;

hist(quarteiroes, freq = FALSE,
         main = "Quantidade de casas por quarteirão", 
         xlab = "Casas", ylab = "Densidade",
        breaks = seq(2,97,19),
    xaxp=c(2,97,5),)

3.2.2 b)

Moda:
Para a moda, não se tem uma função direta, para isso usaremos a função table(). Que nos dá uma frequência de quantas vezes uma observação se repete, ai usando a sintaxe, conseguimos a moda;

moda <- table(quarteiroes)
    moda[moda == max(moda)]
## 61 
##  3

Ou seja, a moda é o valor 61, que se repete 3 vezes

Mediana:
Existe a função median();

median(quarteiroes)
## [1] 31

Media:
Existe a função median();

mean(quarteiroes)
## [1] 40.42

As medidas de dispersão, veremos algumas aqui, amplitude, variância e desvio padrão
Amplitude:
Basta fazer a diferença entre a maior observação e a menor.

max(quarteiroes)- min(quarteiroes)
## [1] 95

Variância:
No R, a variância dada é a variância amostral, com o comando var().

var(quarteiroes)
## [1] 680.0037

Desvio padrão:
Desvio padrão amostral, função sd().

sd(quarteiroes)
## [1] 26.07688

3.3 Problema 6 do capítulo 3

Numa pesquisa realizada com 100 famílias, levantaram-se as seguintes informações:

Problema 6 do capitulo 3
Problema 6 do capitulo 3
  1. Qual a mediana do número de filhos?
  2. E a moda?
  3. Que problemas você enfrentaria para calcular a média? Faça alguma suposição e encontre-a.
#criando o objeto  
filhos<- c(rep(c(0,1,2,3,4,5,6), c(17,20,28,19,7,4,5)))  

3.3.1 a)

#Mediana  
median(filhos)
## [1] 2

3.3.2 b)

#Sem uma função direta, temos a seguinte sintaxe para acharmos a moda.  
modafilhos <- table(filhos) 
    modafilhos[modafilhos == max(modafilhos)]
##  2 
## 28

3.3.3 c)

mean(filhos)
## [1] 2.11

3.4 Problema 7 do capítulo 3

Obtenha o esquema dos cinco números para os dados do Problema 3. Calcule a distância interquartil e as dispersões inferior e superior. Baseado nessas medidas, verifique se a forma da distribuição dos dados é normal.

#Usando os dados do problema 3 (P3C3)
attach(P3C3)
## The following object is masked from P3C3 (pos = 3):
## 
##     quarteiroes
#Calculando o primeiro e o terceiro quatil   
Q1<- quantile(quarteiroes, prob=0.25)
Q1  
##   25% 
## 20.25
Q3<- quantile(quarteiroes, prob=0.75)
Q3  
## 75% 
##  61
#Distância interquartil é a diferença entre o terceiro e o primeiro quartil
dis.int.quar. <- Q3 - Q1
dis.int.quar. 
##   75% 
## 40.75
#Dispersão inferior, é a diferença  entre o segundo quartil e a primeira observação   
di<- quantile(quarteiroes, probs = 0.5) - min(quarteiroes)
di
## 50% 
##  29
#Dispersão superior, é a diferença  entre a última observação e o segundo quartil  
ds<-  max(quarteiroes) - quantile(quarteiroes, probs = 0.5)
ds
## 50% 
##  66
#A forma de distribuição dos dados não é normal, pois;
di == ds
##   50% 
## FALSE

3.5 Problema 9 do capítulo 3

Obter os três quartis, q(0,1) e q(0,90) para os dados do Problema 3.

attach(P3C3)
## The following object is masked from P3C3 (pos = 3):
## 
##     quarteiroes
## The following object is masked from P3C3 (pos = 4):
## 
##     quarteiroes
quantile(quarteiroes, probs = c(0.1,0.25,0.5,0.75,0.9))  
##   10%   25%   50%   75%   90% 
## 13.90 20.25 31.00 61.00 78.20

3.6 Problema 16 do capítulo 3

Os dados abaixo representam as vendas semanais, em classes de salários mínimos, de vendedores de gêneros alimentícios:
Problema 16 do capitulo 3
Problema 16 do capitulo 3
  1. Faça o histograma das observações.
  2. Calcule a média da amostra x’
  3. Calcule o desvio padrão da amostra, s.
  4. Qual a porcentagem das observações compreendidas entre x’ - 2s e x’ + 2s? ### a)
#criando o objeto com as mesma frequência nos intervalos  
vendas<- c(rep(seq(32.5,67.5,5), c(2,10,18,50,70,30,18,2)))
#criando o histograma
hist(vendas,   
     main = "Histograma de vendas", xlab = "vendas", ylab = "Densidade", #Nome ao histograma, Nome do eixo x, Nome do eixo y  
     freq = FALSE, #Freq=TRUE - para mostrar a frequência; Freq=FALSE - para mostrar a densidade  
     breaks = seq(30,70,5), #Definir os limites das classes  
      xaxp=c(30,70,8), #Alterar a posiçao e quantidade de separadores dos eixos x  
     labels  = FALSE, #Se quiser colocar os valores em cima das barras  
     ylim =  c(0,0.08) #limitante do eixo y   
     )

3.6.1 b)

Como os dados estão agrupados em intervalos, para se calcular a média neste caso, devemos primeiro determinar a média do intervalo e depois multiplicar pela frequência absoluta do intervalo. Em seguida somar os resultados e dividir pela quantidade de amostra.
Como o vetor (vendas) criado é formado pelas médias dos invervalos;

x<- sum(vendas)/length(vendas)
x
## [1] 51.2

3.6.2 c)

s<- sd(vendas)
s
## [1] 6.635522

3.6.3 d)

a<- x-2*s
a
## [1] 37.92896
b<- x+2*s
b
## [1] 64.47104

Observando a frequência relativa:

tab163<-fdt(vendas, start = 30, end = 70, h=5)
tab163
##  Class limits  f   rf rf(%)  cf cf(%)
##       [30,35)  2 0.01     1   2     1
##       [35,40) 10 0.05     5  12     6
##       [40,45) 18 0.09     9  30    15
##       [45,50) 50 0.25    25  80    40
##       [50,55) 70 0.35    35 150    75
##       [55,60) 30 0.15    15 180    90
##       [60,65) 18 0.09     9 198    99
##       [65,70)  2 0.01     1 200   100

Percebe-se que \(a=37.92\) está no intervalo [35,40) e \(b=64.47\) está em [60,65)
Pelo histograma:
[35,40) tem uma área de 5% com uma base de 5 Queremos saber a área (\(x\)) de base \(a=37.92\) até 40, logo, por polarização
\[ \frac{AREA \rightarrow }{BASE\; \rightarrow } \Rightarrow \frac{x}{40-37.92}= \frac{0.05}{5} \Rightarrow x=2.08\% \]

Agora em [60,65) tem uma área de 9% com base 5;
Queremos saber a área (\(y\)) de base 60 até \(b=64.47\)
\[ \frac{AREA \rightarrow }{BASE\; \rightarrow } \Rightarrow \frac{y}{64.46-60}= \frac{0.09}{5} \Rightarrow x=8.028\% \]

Para achar a porcentagem entre 40 até 60, basta soma as frequências relativas, então a porcentagem (\(P\)) compreendida entre \(a=37.92\) e \(b=64.47\) é
\[ P= 2.08\%+9\%+25\%+35\%+15\%+8.028\% = 94,108\% \]

3.7 Problema 19 do capítulo 3

O Departamento Pessoal de uma certa firma fez um levantamento dos salários dos 120 funcionários do setor administrativo, obtendo os resultados (em salários mínimos) da tabela abaixo.
Problema 19 do capitulo 3
Problema 19 do capitulo 3
  1. Esboce o histograma correspondente.
  2. Calcule a média, a variância e o desvio padrão.
  3. Calcule o 1º quartil e a mediana.
  4. Se for concedido um aumento de 100% para todos os 120 funcionários, haverá alteração na média? E na variância? Justifique sua resposta.
  5. Se for concedido um abono de dois salários mínimos para todos os 120 funcionários, haverá alteração na média? E na variância? E na mediana? Justifique sua resposta

3.7.1 a)

#criando um vetor correspondente a distribuição   
#Uma vez que temos as frequências relativas, basta multiplicarmos pelo total (120)
salario <- c(rep(c(1,3,5,8),c(0.25*120,0.4*120,0.2*120,0.15*120)))
#criando o histograma
hist(salario,   
     main = "Histograma da faixa salarial", xlab = "salário", ylab = "Densidade", #Nome ao histograma, Nome do eixo x, Nome do eixo y  
     freq = FALSE, #Freq=TRUE - para mostrar a frequência; Freq=FALSE - para mostrar a densidade  
     breaks = c(0,2,4,6,10), #Definir os limites das classes  
      xaxp=c(0,10,5), #Alterar a posiçao e quantidade de separadores dos eixos x  
     labels  = TRUE, #Se quiser colocar os valores em cima das barras  
     ylim =  c(0,0.22), #limitante do eixo y   
     col= c("blue"), #Adicionar cor.
     )

3.7.2 b)

#Calculando a média
mean(salario)
## [1] 3.65
#Calculando variância (amostral)
var(salario)
## [1] 5.170588
#Calculando o desvio padrão
sd(salario)
## [1] 2.273893
# Ou
sqrt(var(salario))
## [1] 2.273893

3.7.3 c)

Calcular os quartis pelo R, dessa maneira não nos retornará um resultado fiel, pois, os dados disponíveis, não são reais, é a média aritmética das classes de intervalo, logo devemos fazer por polarização.
1º quartis: pela distribuição de frequência
\[q(0.25)=2\]
Mediana ou 2º quartil
Está entre [2,4), então por polarização, a partir do primeiro intervalo falta 25% para os 50% \[ \frac{TOTAL\; (AREA) \rightarrow }{BASE\; \rightarrow } \Rightarrow \frac{0.4}{4-2}= \frac{0.25}{q(0.5)-2} \Rightarrow q(0.5)=3.5 \] Ou seja, \[ M=q(0.5)=3.5 \]

3.7.4 d)

Um aumento de 100% significa dobrar o salário, ou seja:
Média:

#criando novo vetor salario
salario2<- salario*2
#Nova Média
mean(salario2)
## [1] 7.3
# Antiga média 
mean(salario)
## [1] 3.65
#ou seja dobrou a média 

Poderiamos pensar de maneira geral, Seja \(\bar{x}\) a média original e \(\bar{\bar{x}}\) a nova média. \[ \bar{\bar{x}}=\frac{2x_{1}+2x_{2}+...+2x_{120}}{120}=2\frac{x_{1}+x_{2}+...+x_{120}}{120}=2*\bar{x} \]

Variância:

#Nova variância
var(salario2)
## [1] 20.68235
# Antiga média 
var(salario)
## [1] 5.170588
#ou seja quadriplicou a variância 

Seja \(s^2\) a variância amostral original e \(\bar{x}\) a média original (\(\bar{\bar{x}}=2\bar{x}\)), e \(s'^2\) a nova variância;

\[ s'^2=\frac{\sum_{4}^{i=1}(2x_i-\bar{\bar{x}})^2}{n-1}=\frac{\sum_{4}^{i=1}(2x_i-2\bar{x})^2}{n-1}= \frac{\sum_{4}^{i=1}[2(x_i-\bar{x})]^2}{n-1} \\ \Leftrightarrow s'^2=4\frac{\sum_{4}^{i=1}(x_i-\bar{x})^2}{n-1} \\ \Leftrightarrow s'^2=4s^2 \]

O pensamento é análogo para o item e)

3.7.5 e)

Seja o abono de 2 salários, logo, devemos somar 2 a cada observação:

#Criando o novo vetor, somando 2 ao vetor originial
salario3 <- salario+2

Média:

#Nova Média
mean(salario3)
## [1] 5.65
# Antiga média 
mean(salario)
## [1] 3.65
#ou seja somou 2 a média 

Variância:

#Nova variância
var(salario3)
## [1] 5.170588
# Antiga média 
var(salario)
## [1] 5.170588
#ou seja a variância não mudou.