GABARITO EXERCÍCIOS AED 1 - METODOLOGIA 2 PROF. Vinícius

Estatística Básica (Bussab e Morettin) Capítulo 2: exercícios 4 e 9

4. Contou-se o número de erros de impressão da primeira página de um jornal durante 50 dias, obtendo-se os resultados abaixo:

a) Represente os dados abaixo graficamente:

b) Faça um histograma e um ramo-e-folhas

#CRIANDO O VETOR ERROS IMPRESSAO
errosimpressao <- c(8, 11, 8, 12, 14, 13, 11, 14, 14, 15, 
           6, 10, 14, 19, 12, 7, 5, 8, 8, 8, 
           10, 16, 12, 12, 8, 11, 6, 7, 12, 12, 
           7, 10, 14, 5, 12, 7, 9, 12, 11, 9, 
           14, 8, 14, 12, 10, 12, 22, 7, 15)

#Primeiro comando: plotar o errosimpressao, se tiver dúvida leia o ?plot
plot(errosimpressao, type="o", col="blue", xlab="Dias", ylab="Número de Erros", main="Número de Erros de Impressão por Dia")

#Segundo comando: Histograma dos dados ?hist para opções de customização.
hist(errosimpressao, col="lightblue", main="Histograma do Número de Erros de Impressão", xlab="Número de Erros", ylab="Frequência", breaks=5)

#Ramo e Folhas: 
table(errosimpressao)
errosimpressao
 5  6  7  8  9 10 11 12 13 14 15 16 19 22 
 2  2  5  7  2  4  4 10  1  7  2  1  1  1 
stem(errosimpressao)

  The decimal point is at the |

   4 | 00
   6 | 0000000
   8 | 000000000
  10 | 00000000
  12 | 00000000000
  14 | 000000000
  16 | 0
  18 | 0
  20 | 
  22 | 0

Algumas observações:

O errosimpressao não é um banco de dados: ele é um vetor;

Saber diferenciar um histograma de um gráfico de barra;

Ramo: é o número; E a folha a frequência q ele aparece (representada em 0s).

9: 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 às questões:

#carregando o banco de dados: aqui o aluno pode transcrever ou usar um LLM.
Tab29 <- read.csv("https://raw.githubusercontent.com/Milvann/deverdecasa/main/Tab29.csv") #importando tabela no formato csv do meu github

View(Tab29) # abrindo a tabela recém importada

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?

Qualitativas nominais: Funcionário e Seção;

Qualitativa ordinal: Inglês e Metodologia;

Quantitativa discreta: Administrativo, Direito e Estatística;

Quantitativa Contínua: Redação e Política.

(b) Compare e indique as diferenças existentes entre as distribuições das variáveis Direito, Política e Estatística.

Nessa questão o aluno pode usar a criatividade dele para expressar melhor.

#exemplo do que o aluno pode fazer
summary(Tab29$dir)
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
      9       9       9       9       9       9 
table(Tab29$dir)

 9 
25 
hist(Tab29$dir, 
     main = "Histograma da Variável Direito", 
     xlab = "Direito", 
     col = "blue", 
     border = "black")

boxplot(Tab29$dir, Tab29$pol, Tab29$est, names = c("Direito", "Política", "Estatística"))

Importante nessa questão também a parte analítica. O aluno deve apresentar uma análise sobre as diferenças das frequências.

(c) Construa o histograma para as notas da variável Redação

hist(Tab29$red, 
     main = "Histograma da Variável Redação", 
     xlab = "Direito", 
     col = "blue", 
     border = "black")

(d) Construa a distribuição de freqüências da variável Metodologia e faça um gráfico para indicar essa distribuição.

Agora temos uma variável qualitativa. Algumas opções iniciais de análise.

#exemplo do que o aluno pode fazer
summary(Tab29$met)
   Length     Class      Mode 
       25 character character 
tbmet = table(Tab29$met)
tbmet

 A  B  C 
 7  8 10 
prop.table(tbmet)

   A    B    C 
0.28 0.32 0.40 
barplot(tbmet)

(e) Sorteado ao acaso um dos 25 funcionários, qual a probabilidade de que ele tenha obtido grau A em Metodologia?

O que a gente quer dividido pelo universo.

prop.table(tbmet)

   A    B    C 
0.28 0.32 0.40 

(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)?

Questão básica de ensino médio:

(O que a gente quer dividido pelo nosso universo) E (o que a gente quer dividido pelo nosso universo MENOS O QUE JÁ FOI RETIRADO)

(7/25)*(6/24)
[1] 0.07

Bem menor.

(g) Como é o aproveitamento dos funcionários na disciplina Estatística, segundo a seção a que eles pertencem?

Exercício para testar se o aluno já sabe cruzar duas variáveis. O que a gente quer saber é a distribuição das notas de estatística por seção que o funcionário pertence.

#uma análise exploratória só para brincar um pouco
tbest = table(Tab29$secao, Tab29$est)
addmargins(tbest)
     
       4  7  8  9 10 Sum
  P    0  0  3  3  1   7
  T    0  2  2  2  1   7
  V    1  3  2  4  1  11
  Sum  1  5  7  9  3  25
tbestprop = prop.table(tbest)
addmargins(tbestprop)
     
         4    7    8    9   10  Sum
  P   0.00 0.00 0.12 0.12 0.04 0.28
  T   0.00 0.08 0.08 0.08 0.04 0.28
  V   0.04 0.12 0.08 0.16 0.04 0.44
  Sum 0.04 0.20 0.28 0.36 0.12 1.00
#para ver quem teve o maior aproveitamento, vamos tirar o "agregar" mesmo. O agregar ele tira a média por grupo.
tbestagg = aggregate(Tab29$est, list(Tab29$secao), FUN=mean)

tbestagg
  Group.1        x
1       P 8.714286
2       T 8.285714
3       V 7.909091
barplot(tbestagg$x, names.arg = tbestagg$Group.1, 
        xlab = "Seção", ylab = "Média das Notas", 
        main = "Média das Estimativas por Seção", 
        col = "skyblue", las = 1)

Métodos Estatísticos para Ciências Sociais (Agresti e FInlay) Capítulo 3: Exercícios 6, 12, 46 e 48.

3.6: The OECD (Organization for Economic Cooperation and Development) consists of advanced, industrialized countries that accept the principles of representative democracy and a free market economy. Table 3.13 shows part of the OECD data file at the text website that has data on several variables for the 24 nations that made up the OECD before its recent enlargement to include nations that have recently undergone market economy reforms. The variables are gross domestic product (GDP, per capita in U.S. dollars), the Gini measure of inequality, a human development index (HDI, which has components referring to life expectancy at birth, educational attainment, and income per capita), an index of economic freedom, carbon dioxide emissions (CO2, per capita, in metric tons), and prison population (per 100,000 people). Using the complete data file from the text website: 

(a) Construct a stem-and-leaf plot of the GDP values, by rounding and reporting the values in thousands of dollars (e.g., replacing $43,550 by 44).

#abrindo o banco de dados
#install.packages("smss")
library(smss)
data(oecd.data)

#arredondamos valores em uma nova variável para não gerar confusão
oecd.data$gdprounded <- signif(oecd.data$GDP, digits = 2)

oecd.data$gdprounded <- oecd.data$gdprounded/1000 # não sei se tem uma função específica para isso, então usei /1000 mesmo hahaha...

stem(oecd.data$gdprounded, scale = 2)

  The decimal point is 1 digit(s) to the right of the |

  2 | 02358899
  3 | 0001112223389
  4 | 0
  5 | 
  6 | 
  7 | 0

(b) Construct a histogram. Interpret.

hist(oecd.data$gdprounded, breaks = 10, main = "Histograma GDP", xlab = "GDP", ylab = "Frequência")

(c) Identify the outlier in each plot.

#USANDO O RBASE: ACHO QUE É ASSIM.
outgdp <- boxplot.stats(oecd.data$GDP)$out #descobrindo os outliers
outgdp <- which(oecd.data$GDP %in% c(outgdp)) #achando os outliers na data
oecd.data[outgdp, ] #listando os outliers
          nation   GDP Unemploy Inequal Health Phys  C02 Parlia FemEcon
4        Ireland 38827      4.3     9.4    5.8  279 10.3   14.2      72
8  United-States 39676      5.1    15.9    6.8  256 19.8   15.0      81
12    Luxembourg 69961      4.6       I    6.2  266 22.0   23.3      68
22        Greece 22205     10.6    10.2    5.1  438  8.7   13.0      66
23      Portugal 19629      7.5      15    6.7  342  5.6   21.3      79
   gdprounded
4          39
8          40
12         70
22         22
23         20
# repetiremos o processo com outras variáveis

outUnemploy <- boxplot.stats(oecd.data$Unemploy)$out
outUnemploy <- which(oecd.data$Unemploy %in% c(outUnemploy))
oecd.data[outUnemploy, ]
 [1] nation     GDP        Unemploy   Inequal    Health     Phys      
 [7] C02        Parlia     FemEcon    gdprounded
<0 linhas> (ou row.names de comprimento 0)
outHealth <- boxplot.stats(oecd.data$Health)$out
outHealth <- which(oecd.data$Health %in% c(outHealth))
oecd.data[outHealth, ]
   nation   GDP Unemploy Inequal Health Phys C02 Parlia FemEcon gdprounded
2 Iceland 33051      2.5       I    8.8  362 7.6   33.3      87         33
#E assim consecutivamente....
#Usando o rstatix
#install.packages("rstatix")
library(dplyr)

Attaching package: 'dplyr'
The following objects are masked from 'package:stats':

    filter, lag
The following objects are masked from 'package:base':

    intersect, setdiff, setequal, union
library(rstatix)

Attaching package: 'rstatix'
The following object is masked from 'package:stats':

    filter
#tentei várias funções, nenhuma funcionou ai deixei no braço mesmo.

oecd.data %>%
identify_outliers(GDP)
         nation   GDP Unemploy Inequal Health Phys  C02 Parlia FemEcon
1       Ireland 38827      4.3     9.4    5.8  279 10.3   14.2      72
2 United-States 39676      5.1    15.9    6.8  256 19.8   15.0      81
3    Luxembourg 69961      4.6       I    6.2  266 22.0   23.3      68
4        Greece 22205     10.6    10.2    5.1  438  8.7   13.0      66
5      Portugal 19629      7.5      15    6.7  342  5.6   21.3      79
  gdprounded is.outlier is.extreme
1         39       TRUE      FALSE
2         40       TRUE      FALSE
3         70       TRUE       TRUE
4         22       TRUE      FALSE
5         20       TRUE      FALSE
oecd.data %>%
identify_outliers(Unemploy)
 [1] nation     GDP        Unemploy   Inequal    Health     Phys      
 [7] C02        Parlia     FemEcon    gdprounded is.outlier is.extreme
<0 linhas> (ou row.names de comprimento 0)
oecd.data %>%
identify_outliers(Health)
   nation   GDP Unemploy Inequal Health Phys C02 Parlia FemEcon gdprounded
1 Iceland 33051      2.5       I    8.8  362 7.6   33.3      87         33
  is.outlier is.extreme
1       TRUE      FALSE
oecd.data %>%
identify_outliers(Phys)
 [1] nation     GDP        Unemploy   Inequal    Health     Phys      
 [7] C02        Parlia     FemEcon    gdprounded is.outlier is.extreme
<0 linhas> (ou row.names de comprimento 0)
oecd.data %>%
identify_outliers(C02)
         nation   GDP Unemploy Inequal Health Phys  C02 Parlia FemEcon
1     Australia 30331      5.1    12.5    6.4  247 18.0   28.3      79
2        Canada 31263      6.8     9.4    6.9  214 17.9   24.3      83
3 United-States 39676      5.1    15.9    6.8  256 19.8   15.0      81
4    Luxembourg 69961      4.6       I    6.2  266 22.0   23.3      68
  gdprounded is.outlier is.extreme
1         30       TRUE       TRUE
2         31       TRUE       TRUE
3         40       TRUE       TRUE
4         70       TRUE       TRUE
oecd.data %>%
identify_outliers(Parlia)
 [1] nation     GDP        Unemploy   Inequal    Health     Phys      
 [7] C02        Parlia     FemEcon    gdprounded is.outlier is.extreme
<0 linhas> (ou row.names de comprimento 0)
oecd.data %>%
identify_outliers(FemEcon)
 [1] nation     GDP        Unemploy   Inequal    Health     Phys      
 [7] C02        Parlia     FemEcon    gdprounded is.outlier is.extreme
<0 linhas> (ou row.names de comprimento 0)

3.12. Table 3.14 shows 2012 female economic activity (FEA) for countries in Eastern Europe. Construct plots and find summary statistics to compare these values with those from the Middle East in Table 3.4. Interpret.

Tab312 <- read.csv("https://raw.githubusercontent.com/Milvann/deverdecasa/main/Tab312.csv") #importando tabela no formato csv, é possível usar o botão import na aba "enviroment" também.

head(Tab312) # abrindo a tabela recém importada
     Country Location FEA
1     Bosnia   Easteu  68
2   Bulgaria   Easteu  81
3    Croatia   Easteu  79
4 Czech Rep.   Easteu  74
5    Estonia   Easteu  80
6    Hungary   Easteu  82
#função para mostrar as médias agrupadas.
tb312 = aggregate(Tab312$FEA, list(Tab312$Location), FUN=mean) 
tb312
     Group.1        x
1     Easteu 77.73333
2 MiddleEast 37.50000
barplot(tb312$x, names.arg = tb312$Group.1, 
        main = "Média de FEA por Localização", 
        xlab = "Localização", 
        ylab = "Média de FEA", 
        col = "lightblue", 
        las = 2
        )

Mais importante dessa questão é interpretar os dados.

3.46. The United Nations publication Energy Statistics Yearbook lists consumption of energy (unstats. un.org/unsd/energy). For the 27 nations that made up the European Union (EU) in 2011, the energy values (in kilowatt-hours per capita) had a mean of 5963 and a standard deviation of 2292.

(a) France had a value of 7946. How many standard deviations from the mean was it?

#Ai só ler o livro e aplicar as fórmulas conforme requerido. Elas estão na pág.2

mean_eu <- 5963
sd_eu <- 2292
value_france <- 7946

#z-score para a França
z_france <- (value_france - mean_eu) / sd_eu
z_france
[1] 0.8651832

(b) The value for the United States was 13,930. Relative to

the distribution for the European Union, find its z-score. Interpret.

# Definindo o valor para os Estados Unidos
value_us <- 13930

# Calculando o z-score para os Estados Unidos
z_us <- (value_us - mean_eu) / sd_eu
z_us
[1] 3.476003

O valor de 13,930 é significativamente maior do que a média da União Europeia, situando-se a 3.477 desvios-padrão acima da média. Em uma distribuição normal, um valor tão alto é bastante raro (pouco mais do que 3 desvios-padrão).

(c) If the distribution of EU energy values were bell shaped, would a value of 13,930 be unusually high? Why?

# Verificando se o valor é incomumente alto
z_us > 3
[1] TRUE

Se a distribuição dos valores de energia da União Europeia fosse aproximadamente simétrica e em forma de sino (normal), um valor de z maior que 3 (como 3.477) é considerado extremamente incomum. Em uma distribuição normal, aproximadamente 99.7% dos dados estão dentro de 3 desvios-padrão da média. Portanto, um valor de z acima de 3 indica que o valor está na extremidade superior da distribuição, tornando 13,930 um valor extremamente alto e incomum.

  • (a) França está 0.865 desvios-padrão acima da média da UE.

  • (b) EUA está 3.477 desvios-padrão acima da média da UE.

  • (c) Se a distribuição fosse normal, 13,930 seria considerado um valor incomumente alto.

3.48. Table 3.18 shows reported happiness for those subjects in the 2014 GSS who attend religious services rarely and for those who attend frequently.

Tab348 <- read.csv("https://raw.githubusercontent.com/Milvann/deverdecasa/main/Tab348.csv") #importando tabela no formato csv, é possível usar o botão import na aba "enviroment" também.

head(Tab348) # abrindo a tabela recém importada
  Religiousatt     Happy
1     onceweek veryhappy
2     onceweek veryhappy
3     onceweek veryhappy
4     onceweek veryhappy
5     onceweek veryhappy
6     onceweek veryhappy

(a) Identify the response variable and the explanatory variable.

Primeiramente, é importante destacar que uma análise entre duas associações se chama análise bivariada. A variável que define os níveis dessa análise é chamada de “explanatory variable”. E a variável que está sendo analisada sob o prisma do nível da “explanatory variable” se chama”response variable”.

Os autores deste livro preferem usar “explanatory variable” e”response variable” no lugar de, respectivamente, “independent variable” e “dependent variable”. Segundo os autores é para não gerar dúvidas conceituais.

Assim, na referida tabela, temos uma análise da felicidade sob uma perspectiva da assiduidade religiosa. Ou seja, nossa “independent/explanatory variable” é a assiduidade religiosa (Religiousatt) e a nossa”dependent/response variable” é a felicidade.

(b) At each level of religious attendance, find the percentage who reported being very happy.

Tab348veryhappy <- filter(Tab348, Happy == "veryhappy") #foi o jeito mais rápido que veio na minha cabeça fazer

prop.table(table(Tab348veryhappy$Religiousatt, Tab348veryhappy$Happy))
              
               veryhappy
  lessonceyear  0.546789
  onceweek      0.453211

Assim, 54% das pessoas muito felizes têm a assiduidade religiosa de uma vez por ano ou menos. E 45% das pessoas muito felizes têm assiduidade religiosa de pelo menos uma vez por semana. Contudo, essa proporção é suficiente para comprovar associação? Vamos observar isso na próxima questão.

(c) Does there seem to be an association between these variables? Why?

Tab348ass <- table(Tab348$Religiousatt, Tab348$Happy)

chisq.test(Tab348ass)

    Pearson's Chi-squared test

data:  Tab348ass
X-squared = 48.021, df = 2, p-value = 3.736e-11

A hipótese nula do teste qui-quadrado de Pearson é que as duas variáveis categóricas em questão são independentes, ou seja, não há associação entre elas. Um valor-p menor que 0.05 leva à rejeição da hipótese nula.

A hipótese alternativa é que há uma associação entre as duas variáveis.

Dado o valor-p extremamente pequeno (3.736e-11), temos evidências estatísticas muito fortes para rejeitar a hipótese nula de independência. Isso significa que há uma associação estatisticamente significativa entre as duas variáveis categóricas representadas na tabela de contingência.