Neste encontro, vamos importar a base de dados, analisá-la, corrigir problemas e publicar os resultados.
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")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 ...
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"))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>
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?
Desempenho do(a) aluno(a) - quantitativa
Trabalha, Namora, Mora com os pais e Turma - qualitativas
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.
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.
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 |
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 |
Recomendamos que o trabalho não seja proibido, já que não interfere no desempenho do aluno.
Estudantes que namoram não possuem desempenho menor. Por isso, não devemos proibir ou desencorajar alunos em relacionamentos.
A turma B possui desempenho melhor, por uma margem pequena.