Introdução a revisão

Neste encontro, vamos importar a base de dados, analisá-la, corrigir problemas e publicar os resultados.

Importar um arquivo do excel no R

Para importar, vamos usar a função read_excel da biblioteca readxl.

# Importar a base
library(readxl)
QE <- read_excel("C:/Users/18744968701/Desktop/Base_de_dados-master/Questionario_Estresse.xls")

Análise da base de dados

Aqui, vamos usar as funções summary, head, View e str para analisar a base de dados.

head(QE)
## # A tibble: 6 × 10
##   Aluno Turma Mora_pais    RJ Namorado_a Trabalha Desempenho Estresse Créditos
##   <dbl> <dbl>     <dbl> <dbl>      <dbl>    <dbl>      <dbl>    <dbl>    <dbl>
## 1     1     1         2     2          2        2       8.89       23       27
## 2     2     1         1     1          2        2       8.8        24       28
## 3     3     1         2     2          2        2       8          25       25
## 4     4     1         2     2          1        1       8.8        38       21
## 5     5     1         2     2          2        1       8.9        41       18
## 6     6     1         2     2          1        1       8.1        25       29
## # ℹ 1 more variable: Horas_estudo <dbl>
summary(QE)
##      Aluno          Turma         Mora_pais           RJ          Namorado_a   
##  Min.   : 1.0   Min.   :1.000   Min.   :1.000   Min.   :1.000   Min.   :1.000  
##  1st Qu.:24.5   1st Qu.:1.000   1st Qu.:1.000   1st Qu.:1.000   1st Qu.:1.000  
##  Median :48.0   Median :2.000   Median :2.000   Median :2.000   Median :2.000  
##  Mean   :48.0   Mean   :2.074   Mean   :1.537   Mean   :1.653   Mean   :1.505  
##  3rd Qu.:71.5   3rd Qu.:3.000   3rd Qu.:2.000   3rd Qu.:2.000   3rd Qu.:2.000  
##  Max.   :95.0   Max.   :3.000   Max.   :2.000   Max.   :2.000   Max.   :2.000  
##                                                                                
##     Trabalha       Desempenho       Estresse        Créditos    
##  Min.   :1.000   Min.   :5.820   Min.   :12.00   Min.   :15.00  
##  1st Qu.:1.000   1st Qu.:8.500   1st Qu.:22.50   1st Qu.:23.00  
##  Median :2.000   Median :8.700   Median :27.00   Median :24.00  
##  Mean   :1.621   Mean   :8.594   Mean   :27.82   Mean   :24.95  
##  3rd Qu.:2.000   3rd Qu.:9.050   3rd Qu.:33.00   3rd Qu.:27.00  
##  Max.   :2.000   Max.   :9.700   Max.   :44.00   Max.   :49.00  
##                                                  NA's   :1      
##   Horas_estudo  
##  Min.   :19.00  
##  1st Qu.:25.00  
##  Median :30.00  
##  Mean   :30.73  
##  3rd Qu.:35.00  
##  Max.   :60.00  
## 
str(QE)
## tibble [95 × 10] (S3: tbl_df/tbl/data.frame)
##  $ Aluno       : num [1:95] 1 2 3 4 5 6 7 8 9 10 ...
##  $ Turma       : num [1:95] 1 1 1 1 1 1 1 1 1 1 ...
##  $ Mora_pais   : num [1:95] 2 1 2 2 2 2 2 1 1 1 ...
##  $ RJ          : num [1:95] 2 1 2 2 2 2 2 1 1 1 ...
##  $ Namorado_a  : num [1:95] 2 2 2 1 2 1 2 1 2 2 ...
##  $ Trabalha    : num [1:95] 2 2 2 1 1 1 2 1 1 1 ...
##  $ Desempenho  : num [1:95] 8.89 8.8 8 8.8 8.9 8.1 9.2 8.5 8.7 8.3 ...
##  $ Estresse    : num [1:95] 23 24 25 38 41 25 41 20 26 36 ...
##  $ Créditos    : num [1:95] 27 28 25 21 18 29 26 24 20 49 ...
##  $ Horas_estudo: num [1:95] 27 28 25 30 20 32 25 25 25 59 ...

Correção de problemas da base de dados

Tudo que tiver 1 e 2 vai virar “sim” ou “não”. Além disso, as turmas 1, 2 e 3 devem virar “A”, “B” e “C”.

QE$Trabalha = ifelse(QE$Trabalha==1, "Sim", "Não")
QE$Mora_pais = ifelse(QE$Mora_pais==1, "Sim", "Não")
QE$RJ = ifelse(QE$RJ==1, "Sim", "Não")
QE$Namorado_a = ifelse(QE$Namorado_a==1, "Sim", "Não")

QE$Turma = ifelse(QE$Turma==1, "Turma A", ifelse(QE$Turma==2, "Turma B", "Turma C"))

Será que o problema foi resolvido?

Como podemos verificar?

str(QE)
## tibble [95 × 10] (S3: tbl_df/tbl/data.frame)
##  $ Aluno       : num [1:95] 1 2 3 4 5 6 7 8 9 10 ...
##  $ Turma       : chr [1:95] "Turma A" "Turma A" "Turma A" "Turma A" ...
##  $ Mora_pais   : chr [1:95] "Não" "Sim" "Não" "Não" ...
##  $ RJ          : chr [1:95] "Não" "Sim" "Não" "Não" ...
##  $ Namorado_a  : chr [1:95] "Não" "Não" "Não" "Sim" ...
##  $ Trabalha    : chr [1:95] "Não" "Não" "Não" "Sim" ...
##  $ Desempenho  : num [1:95] 8.89 8.8 8 8.8 8.9 8.1 9.2 8.5 8.7 8.3 ...
##  $ Estresse    : num [1:95] 23 24 25 38 41 25 41 20 26 36 ...
##  $ Créditos    : num [1:95] 27 28 25 21 18 29 26 24 20 49 ...
##  $ Horas_estudo: num [1:95] 27 28 25 30 20 32 25 25 25 59 ...
head(QE)
## # A tibble: 6 × 10
##   Aluno Turma   Mora_pais RJ    Namorado_a Trabalha Desempenho Estresse Créditos
##   <dbl> <chr>   <chr>     <chr> <chr>      <chr>         <dbl>    <dbl>    <dbl>
## 1     1 Turma A Não       Não   Não        Não            8.89       23       27
## 2     2 Turma A Sim       Sim   Não        Não            8.8        24       28
## 3     3 Turma A Não       Não   Não        Não            8          25       25
## 4     4 Turma A Não       Não   Sim        Sim            8.8        38       21
## 5     5 Turma A Não       Não   Não        Sim            8.9        41       18
## 6     6 Turma A Não       Não   Sim        Sim            8.1        25       29
## # ℹ 1 more variable: Horas_estudo <dbl>

Questões

Quem trabalha tem um desempenho prejudicado?

Quem namora tem um desempenho pior?

Quem mora com os pais tem um desempenho melhor?

A turma B tem desempenho melhor que as outras?

Desenho de pesquisa

Variável explicada

Desempenho do(a) aluno(a) - quantitativa

Variáveis explicativas

Trabalha, Namora, Mora com os pais e Turma - qualitativas

Análise de dados

Vamos fazer aqui uma média por grupos. Em outras palavras, vamos fazer o desempenho médio de quem trabalha e de quem não trabalha.

Análise pela variável trabalho

library(dplyr) # para criar as estatísticas
library(flextable) # para criar as tabelas no rmarkdown

QE %>% select(Trabalha, Desempenho) %>% group_by(Trabalha) %>% summarise(média=mean(Desempenho), desvio_padrão=sd(Desempenho)) %>% flextable() %>% theme_vader()

Trabalha

média

desvio_padrão

Não

8.626441

0.698167

Sim

8.540278

0.895511

Quem trabalha tem nota 8,5. Quem não trabalha tem nota 8,6. As notas são praticamente iguais e o fato de trabalhar ou não, não interfere na nota do estudante. A diferença é de 0,1.

Análise pela variável namoro

QE %>% select(Namorado_a, Desempenho) %>% group_by(Namorado_a) %>% summarise(média=mean(Desempenho), desvio_padrão=sd(Desempenho)) %>% flextable() %>% theme_vader()

Namorado_a

média

desvio_padrão

Não

8.437917

0.7373557

Sim

8.752979

0.7884269

Análise pela variável turma

QE %>% select(Turma, Desempenho) %>% group_by(Turma) %>% summarise(média=mean(Desempenho), desvio_padrão=sd(Desempenho)) %>% flextable() %>% theme_vader()

Turma

média

desvio_padrão

Turma A

8.610357

0.4413320

Turma B

8.710000

0.6627509

Turma C

8.474286

1.0388095

Conclusão

  1. Recomendamos que o trabalho não seja proibido, já que não interfere no desempenho do aluno.

  2. Estudantes que namoram não possuem desempenho menor. Por isso, não devemos proibir ou desencorajar alunos em relacionamentos.

  3. A turma B possui desempenho melhor, por uma margem pequena.