Atividade

Realizar o processo de amostragem adequado e justificando. Como também, descrever a natureza das variáveis, as medidas de posição estudas em sala de aula. Utilizando as bases do já disponível no R.

a) morley

b) mtcars

Base de dados: Morley

Dados do experimento clássico de Michaelson e Morley para medir a velocidade da luz. São 5 experimentos (coluna Expt) e cada um com 20 rodadas (coluna Run) e Speed é o valor medido da velocidade da luz numa escala apropriada. Abaixo o header da base:

df_morley = as.data.frame(morley)

df_morley %>%  
  head  %>% 
  kable("html", escape = F) %>%
  kable_styling("striped", full_width = F)
Expt Run Speed
001 1 1 850
002 1 2 740
003 1 3 900
004 1 4 1070
005 1 5 930
006 1 6 850

Análise Descritiva

Observando a natureza das variáveis e o preenchimento delas, temos que são são 3 variáveis quantitativas. Abaixo detalhes sobre as variáveis:

  1. A variável Expt, que indica os 5 experimentos com 20 observações para cada, não apresenta nenhum missing.Variável quantitativa discreta. Abaixo sua distribuição de frequência:
df_morley %>% 
  group_by(Expt) %>% 
  summarise(n = n()) %>% 
  kable("html", escape = F) %>%
  kable_styling("striped", full_width = F)
Expt n
1 20
2 20
3 20
4 20
5 20
  1. A variável Run, é uma variável quantitativa discreta. Não apresenta nenhum missing. Indica as 20 rodadas dos 5 experimentos . Abaixo sua distribuição de frequeência:
table(df_morley$Run)
## 
##  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 
##  5  5  5  5  5  5  5  5  5  5  5  5  5  5  5  5  5  5  5  5
  1. A variável Speed, é uma variável quantitativa contínua. Não apresenta nenhum missing.Ela é a velocidade da luz numa escala apropriada. Abaixo sua distribuição:
df_morley$Speed %>%  summary() 
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   620.0   807.5   850.0   852.4   892.5  1070.0

Amostragem

Como são 5 experimentos com 20 observações cada, o ideial seria uma amostra de cada experimento para que a amostra final fique representativa em relação a população.

Primeiro filtrei os 5 experimentos e tirei uma amostra aleatória de tamanho 5 das 20 observações:

exp1 = df_morley %>% 
  filter(Expt == '1')
length(exp1$Expt)
## [1] 20
exp2 = df_morley %>% 
  filter(Expt == '2')
length(exp2$Expt)
## [1] 20
exp3 = df_morley %>% 
  filter(Expt == '3')
length(exp3$Expt)
## [1] 20
exp4 = df_morley %>% 
  filter(Expt == '4')
length(exp4$Expt)
## [1] 20
exp5 = df_morley %>% 
  filter(Expt == '5')
length(exp5$Expt)
## [1] 20

Fazendo amostra aleatória em cada experimento:

amostra1 = exp1[sample(1:nrow(exp1), 5),]
length(amostra1$Expt)
## [1] 5
amostra2 = exp2[sample(1:nrow(exp2), 5),]
length(amostra2$Expt)
## [1] 5
amostra3 = exp3[sample(1:nrow(exp3), 5),]
length(amostra3$Expt)
## [1] 5
amostra4 = exp4[sample(1:nrow(exp4), 5),]
length(amostra4$Expt)
## [1] 5
amostra5 = exp5[sample(1:nrow(exp5), 5),]
length(amostra5$Expt)
## [1] 5

Por fim, a amostra final de tamanho 25:

amostra_final = rbind(amostra1, amostra2, amostra3, amostra4, amostra5) 
length(amostra_final$Expt)
## [1] 25

Base de dados: mtcars

Cada uma das 32 linhas da base mtcars representa um carro. A variável mpg é o consumo de combustível em milhas por galão (~3.76 Litros). Abaixo o header da base:

df_mtcars = as.data.frame(mtcars)

df_mtcars %>%  
  head  %>% 
  kable("html", escape = F) %>%
  kable_styling("striped", full_width = F)
mpg cyl disp hp drat wt qsec vs am gear carb
Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4
Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4
Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1
Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1
Hornet Sportabout 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2
Valiant 18.1 6 225 105 2.76 3.460 20.22 1 0 3 1

Análise Descritiva

Observando a natureza das variáveis e o preenchimento delas, temos que são 11 variáveis quantitativas. Abaixo detalhes sobre as variáveis:

  1. Analisando as variáveis quantitativas contínuas,
  • mpg: Miles/(US) gallon;
  • disp: Displacement (cu.in.);
  • hp: Gross horsepower;
  • drat: Rear axle ratio;
  • wt: Weight (1000 lbs);
  • qsec: 1/4 mile time;

tem-se abaixo suas estatísticas:

mtcars_qt_cont <- mtcars %>%  
  select(mpg, disp:qsec) %>%
  gather(var_continuas) 


mtcars_qt_cont %>%
  group_by(var_continuas) %>%
  summarise("Qtd" = n(),
            "Missing" = sum(is.na(value)),
            "Media" = mean(value),
            "DP" = sd(value),
            "Min" = min(value),
            "Q1" = quantile(value, 0.25),
            "Mediana" = quantile(value, 0.50),
            "Q3" = quantile(value, 0.75),
            "Max" = max(value)) %>%
  mutate_each(funs(round(.,1)), -var_continuas) %>% 
  kable("html", escape = F) %>%
  kable_styling("striped", full_width = F)
var_continuas Qtd Missing Media DP Min Q1 Mediana Q3 Max
disp 32 0 230.7 123.9 71.1 120.8 196.3 326.0 472.0
drat 32 0 3.6 0.5 2.8 3.1 3.7 3.9 4.9
hp 32 0 146.7 68.6 52.0 96.5 123.0 180.0 335.0
mpg 32 0 20.1 6.0 10.4 15.4 19.2 22.8 33.9
qsec 32 0 17.8 1.8 14.5 16.9 17.7 18.9 22.9
wt 32 0 3.2 1.0 1.5 2.6 3.3 3.6 5.4
  1. As demais variáveis (cyl, vs, am, gear, carb) são quantitativas discretas e nenhuma possui missing. Abaixo suas distribuições de frequências:
  • Number of cylinders:
df_mtcars %>% 
  group_by(cyl) %>% 
  summarise("Qtd" = n()) %>% 
  kable("html", escape = F) %>%
  kable_styling("striped", full_width = F)
cyl Qtd
4 11
6 7
8 14
  • Engine (0 = V-shaped, 1 = straight):
df_mtcars %>% 
  group_by(vs) %>% 
  summarise("Qtd" = n()) %>% 
  kable("html", escape = F) %>%
  kable_styling("striped", full_width = F)
vs Qtd
0 18
1 14
  • Transmission (0 = automatic, 1 = manual):
df_mtcars %>% 
  group_by(am) %>% 
  summarise("Qtd" = n()) %>% 
  kable("html", escape = F) %>%
  kable_styling("striped", full_width = F)
am Qtd
0 19
1 13
  • Number of forward gears:
df_mtcars %>% 
  group_by(gear) %>% 
  summarise("Qtd" = n()) %>% 
  kable("html", escape = F) %>%
  kable_styling("striped", full_width = F)
gear Qtd
3 15
4 12
5 5
  • Number of carburetors:
df_mtcars %>% 
  group_by(carb) %>% 
  summarise("Qtd" = n()) %>% 
  kable("html", escape = F) %>%
  kable_styling("striped", full_width = F)
carb Qtd
1 7
2 10
3 3
4 10
6 1
8 1

Amostragem

Nessa base de dados, optei por uma amostragem aleatória simples de tamanho 10:

amostra_cars = df_mtcars[sample(1:nrow(df_mtcars), 10),]
length(amostra_cars$mpg)
## [1] 10