1 1. Introdução

A análise estatística é uma ferramenta importante para compreender dados e identificar padrões que podem auxiliar na tomada de decisões. Neste relatório, será realizada uma análise estatística de um banco de dados contendo informações sobre alunos, considerando variáveis relacionadas ao desempenho escolar e às características dos estudantes.

O objetivo é utilizar recursos do R e do RStudio para organizar, analisar e representar os dados, buscando identificar possíveis relações entre frequência escolar, desempenho acadêmico, turno de estudo, escolaridade da mãe e acesso à internet.

2 2. Banco de dados

2.1 2.1 Importação dos dados

library(ggplot2)
library(dplyr)
library(knitr)
pasta_relatorio <- dirname(knitr::current_input(dir = TRUE))
pasta_relatorio <- normalizePath(
  pasta_relatorio,
  winslash = "/",
  mustWork = FALSE
)

arquivo_principal <- file.path(
  pasta_relatorio,
  "dados_alunos.csv"
)

arquivo_alternativo <- file.path(
  pasta_relatorio,
  "dados_alunos.csv.csv"
)

if (file.exists(arquivo_principal)) {
  arquivo_dados <- arquivo_principal
} else if (file.exists(arquivo_alternativo)) {
  arquivo_dados <- arquivo_alternativo
} else {
  stop(
    paste0(
      "Nenhum arquivo de dados foi encontrado.\n",
      "O relatório procurou por 'dados_alunos.csv' ou 'dados_alunos.csv.csv'.\n",
      "Pasta procurada: ",
      pasta_relatorio
    )
  )
}

dados_alunos <- read.csv2(
  arquivo_dados,
  header = TRUE,
  dec = ",",
  stringsAsFactors = FALSE,
  check.names = FALSE
)

if (!all(c(
  "faltas",
  "nota_media",
  "turno",
  "escolaridade_mae",
  "acesso_internet"
) %in% names(dados_alunos))) {
  stop(
    paste0(
      "As colunas esperadas não foram encontradas no arquivo CSV.\n",
      "Colunas encontradas: ",
      paste(names(dados_alunos), collapse = ", ")
    )
  )
}

dados_alunos$faltas <- as.numeric(
  gsub(",", ".", as.character(dados_alunos$faltas), fixed = TRUE)
)

dados_alunos$nota_media <- as.numeric(
  gsub(",", ".", as.character(dados_alunos$nota_media), fixed = TRUE)
)

dados_alunos$turno <- as.character(dados_alunos$turno)
dados_alunos$escolaridade_mae <- as.character(dados_alunos$escolaridade_mae)
dados_alunos$acesso_internet <- as.character(dados_alunos$acesso_internet)

2.2 2.2 Verificação inicial do banco

head(dados_alunos)
##   faltas nota_media      turno escolaridade_mae acesso_internet
## 1     11       10.0 Vespertino            Médio             Sim
## 2      8        8.3   Matutino      Fundamental             Sim
## 3      9        9.2 Vespertino      Fundamental             Sim
## 4      7        5.8   Matutino            Médio             Sim
## 5      7        8.6 Vespertino      Fundamental             Não
## 6     16        5.3 Vespertino            Médio             Sim
str(dados_alunos)
## 'data.frame':    1000 obs. of  5 variables:
##  $ faltas          : num  11 8 9 7 7 16 12 7 8 7 ...
##  $ nota_media      : num  10 8.3 9.2 5.8 8.6 5.3 7.8 6.7 5.5 7.3 ...
##  $ turno           : chr  "Vespertino" "Matutino" "Vespertino" "Matutino" ...
##  $ escolaridade_mae: chr  "Médio" "Fundamental" "Fundamental" "Médio" ...
##  $ acesso_internet : chr  "Sim" "Sim" "Sim" "Sim" ...
summary(dados_alunos)
##      faltas         nota_media           turno       escolaridade_mae
##  Min.   : 1.000   Min.   : 0.500   Length   :1000   Length   :1000   
##  1st Qu.: 6.000   1st Qu.: 5.200   N.unique :   3   N.unique :   3   
##  Median : 8.000   Median : 6.500   N.blank  :   0   N.blank  :   0   
##  Mean   : 8.013   Mean   : 6.444   Min.nchar:   7   Min.nchar:   5   
##  3rd Qu.:10.000   3rd Qu.: 7.700   Max.nchar:  10   Max.nchar:  11   
##  Max.   :19.000   Max.   :10.000                                     
##   acesso_internet
##  Length   :1000  
##  N.unique :   2  
##  N.blank  :   0  
##  Min.nchar:   3  
##  Max.nchar:   3  
## 

3 3. Análise Univariada

3.1 3.1 Número de faltas

A variável número de faltas representa a quantidade de ausências dos alunos.

media_faltas <- mean(dados_alunos$faltas, na.rm = TRUE)
mediana_faltas <- median(dados_alunos$faltas, na.rm = TRUE)
min_faltas <- min(dados_alunos$faltas, na.rm = TRUE)
max_faltas <- max(dados_alunos$faltas, na.rm = TRUE)

data.frame(
  Média = media_faltas,
  Mediana = mediana_faltas,
  Mínimo = min_faltas,
  Máximo = max_faltas
)
##   Média Mediana Mínimo Máximo
## 1 8.013       8      1     19

A média de faltas observada foi de 8.01 faltas.

A mediana foi de 8 faltas.

O menor número de faltas observado foi 1, enquanto o maior foi 19.

ggplot(dados_alunos, aes(x = faltas)) +
  geom_histogram(bins = 10, color = "black") +
  labs(
    title = "Distribuição do número de faltas",
    x = "Número de faltas",
    y = "Frequência"
  ) +
  theme_minimal()

3.2 3.2 Nota média

A variável nota média representa o desempenho acadêmico dos alunos.

media_notas <- mean(dados_alunos$nota_media, na.rm = TRUE)
mediana_notas <- median(dados_alunos$nota_media, na.rm = TRUE)
min_notas <- min(dados_alunos$nota_media, na.rm = TRUE)
max_notas <- max(dados_alunos$nota_media, na.rm = TRUE)

data.frame(
  Média = media_notas,
  Mediana = mediana_notas,
  Mínimo = min_notas,
  Máximo = max_notas
)
##    Média Mediana Mínimo Máximo
## 1 6.4438     6.5    0.5     10

A nota média geral dos alunos foi de 6.44 pontos.

A mediana foi de 6.5 pontos.

A menor nota observada foi 0.5, enquanto a maior foi 10.

ggplot(dados_alunos, aes(x = nota_media)) +
  geom_histogram(bins = 10, color = "black") +
  labs(
    title = "Distribuição das notas médias",
    x = "Nota média",
    y = "Frequência"
  ) +
  theme_minimal()

3.3 3.3 Turno de estudo

A variável turno indica o período em que o aluno realiza seus estudos.

tabela_turno <- table(dados_alunos$turno)

tabela_turno
## 
##   Matutino    Noturno Vespertino 
##        451        204        345
ggplot(dados_alunos, aes(x = turno)) +
  geom_bar(color = "black") +
  labs(
    title = "Distribuição dos alunos por turno",
    x = "Turno",
    y = "Número de alunos"
  ) +
  theme_minimal()

3.4 3.4 Escolaridade da mãe

A escolaridade da mãe é utilizada como uma variável relacionada ao contexto familiar dos alunos.

tabela_escolaridade <- table(dados_alunos$escolaridade_mae)

tabela_escolaridade
## 
## Fundamental       Médio    Superior 
##         391         459         150
ggplot(dados_alunos, aes(x = escolaridade_mae)) +
  geom_bar(color = "black") +
  labs(
    title = "Escolaridade da mãe",
    x = "Escolaridade da mãe",
    y = "Número de alunos"
  ) +
  theme_minimal() +
  theme(axis.text.x = element_text(angle = 45, hjust = 1))

3.5 3.5 Acesso à internet em casa

O acesso à internet é uma variável relacionada às condições de estudo dos alunos.

tabela_internet <- table(dados_alunos$acesso_internet)

tabela_internet
## 
## Não Sim 
## 297 703
ggplot(dados_alunos, aes(x = acesso_internet)) +
  geom_bar(color = "black") +
  labs(
    title = "Acesso à internet em casa",
    x = "Acesso à internet",
    y = "Número de alunos"
  ) +
  theme_minimal()

4 4. Análise Bivariada

4.1 4.1 Acesso à internet e nota média

Nesta análise, será comparada a nota média dos alunos de acordo com o acesso à internet em casa.

media_internet <- dados_alunos %>%
  group_by(acesso_internet) %>%
  summarise(
    media_nota = mean(nota_media, na.rm = TRUE),
    .groups = "drop"
  )

media_internet
## # A tibble: 2 × 2
##   acesso_internet media_nota
##   <chr>                <dbl>
## 1 Não                   6.48
## 2 Sim                   6.43
ggplot(dados_alunos, aes(x = acesso_internet, y = nota_media)) +
  geom_boxplot() +
  labs(
    title = "Nota média segundo acesso à internet",
    x = "Acesso à internet",
    y = "Nota média"
  ) +
  theme_minimal()

4.2 4.2 Escolaridade da mãe e desempenho

Nesta etapa, será analisada a relação entre a escolaridade da mãe e a nota média dos alunos.

media_escolaridade <- dados_alunos %>%
  group_by(escolaridade_mae) %>%
  summarise(
    media_nota = mean(nota_media, na.rm = TRUE),
    .groups = "drop"
  )

media_escolaridade
## # A tibble: 3 × 2
##   escolaridade_mae media_nota
##   <chr>                 <dbl>
## 1 Fundamental            6.33
## 2 Médio                  6.55
## 3 Superior               6.41
ggplot(
  dados_alunos,
  aes(x = escolaridade_mae, y = nota_media)
) +
  geom_boxplot() +
  labs(
    title = "Nota média segundo escolaridade da mãe",
    x = "Escolaridade da mãe",
    y = "Nota média"
  ) +
  theme_minimal() +
  theme(axis.text.x = element_text(angle = 45, hjust = 1))

4.3 4.3 Número de faltas e nota média

Será analisada a relação entre o número de faltas e a nota média dos alunos.

correlacao <- cor(
  dados_alunos$faltas,
  dados_alunos$nota_media,
  use = "complete.obs"
)

correlacao
## [1] -0.01006418

A correlação entre número de faltas e nota média foi de -0.01.

ggplot(
  dados_alunos,
  aes(x = faltas, y = nota_media)
) +
  geom_point() +
  geom_smooth(method = "lm", se = FALSE) +
  labs(
    title = "Relação entre faltas e nota média",
    x = "Número de faltas",
    y = "Nota média"
  ) +
  theme_minimal()
## `geom_smooth()` using formula = 'y ~ x'

4.4 4.4 Turno e número de faltas

Nesta análise, será comparada a quantidade média de faltas entre os diferentes turnos.

media_faltas_turno <- dados_alunos %>%
  group_by(turno) %>%
  summarise(
    media_faltas = mean(faltas, na.rm = TRUE),
    .groups = "drop"
  )

media_faltas_turno
## # A tibble: 3 × 2
##   turno      media_faltas
##   <chr>             <dbl>
## 1 Matutino           8.03
## 2 Noturno            7.95
## 3 Vespertino         8.03

A maior média de faltas foi de 8.03 faltas.

ggplot(
  dados_alunos,
  aes(x = turno, y = faltas)
) +
  geom_boxplot() +
  labs(
    title = "Número de faltas segundo o turno",
    x = "Turno",
    y = "Número de faltas"
  ) +
  theme_minimal()

4.5 4.5 Turno e nota média

Será analisada a nota média dos alunos de acordo com o turno de estudo.

media_nota_turno <- dados_alunos %>%
  group_by(turno) %>%
  summarise(
    media_nota = mean(nota_media, na.rm = TRUE),
    .groups = "drop"
  )

media_nota_turno
## # A tibble: 3 × 2
##   turno      media_nota
##   <chr>           <dbl>
## 1 Matutino         6.46
## 2 Noturno          6.58
## 3 Vespertino       6.34
ggplot(
  dados_alunos,
  aes(x = turno, y = nota_media)
) +
  geom_boxplot() +
  labs(
    title = "Nota média segundo o turno",
    x = "Turno",
    y = "Nota média"
  ) +
  theme_minimal()

O turno com maior nota média foi Noturno, com média de 6.58.

O turno com menor nota média foi Vespertino, com média de 6.34.

5 5. Análise Multivariada

5.1 5.1 Turno, acesso à internet e nota média

Nesta análise, são consideradas simultaneamente as variáveis turno, acesso à internet e nota média.

tabela_multivariada <- dados_alunos %>%
  group_by(turno, acesso_internet) %>%
  summarise(
    media_nota = mean(nota_media, na.rm = TRUE),
    numero_alunos = n(),
    .groups = "drop"
  )

tabela_multivariada
## # A tibble: 6 × 4
##   turno      acesso_internet media_nota numero_alunos
##   <chr>      <chr>                <dbl>         <int>
## 1 Matutino   Não                   6.54           133
## 2 Matutino   Sim                   6.43           318
## 3 Noturno    Não                   6.86            57
## 4 Noturno    Sim                   6.48           147
## 5 Vespertino Não                   6.21           107
## 6 Vespertino Sim                   6.40           238
ggplot(
  dados_alunos,
  aes(
    x = turno,
    y = nota_media,
    fill = acesso_internet
  )
) +
  geom_boxplot() +
  labs(
    title = "Nota média por turno e acesso à internet",
    x = "Turno",
    y = "Nota média",
    fill = "Acesso à internet"
  ) +
  theme_minimal()

5.2 5.2 Escolaridade da mãe, acesso à internet e nota média

Nesta etapa, será observada a combinação entre escolaridade da mãe, acesso à internet e desempenho dos alunos.

tabela_escolaridade_internet <- dados_alunos %>%
  group_by(escolaridade_mae, acesso_internet) %>%
  summarise(
    media_nota = mean(nota_media, na.rm = TRUE),
    numero_alunos = n(),
    .groups = "drop"
  )

tabela_escolaridade_internet
## # A tibble: 6 × 4
##   escolaridade_mae acesso_internet media_nota numero_alunos
##   <chr>            <chr>                <dbl>         <int>
## 1 Fundamental      Não                   6.35           121
## 2 Fundamental      Sim                   6.32           270
## 3 Médio            Não                   6.54           124
## 4 Médio            Sim                   6.56           335
## 5 Superior         Não                   6.66            52
## 6 Superior         Sim                   6.28            98

5.3 5.3 Modelo de regressão linear

Será utilizado um modelo de regressão linear para analisar a relação entre faltas e nota média.

modelo <- lm(
  nota_media ~ faltas,
  data = dados_alunos
)

summary(modelo)
## 
## Call:
## lm(formula = nota_media ~ faltas, data = dados_alunos)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -5.9507 -1.2439  0.0392  1.2832  3.6035 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  6.498043   0.180697  35.961   <2e-16 ***
## faltas      -0.006769   0.021290  -0.318    0.751    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 1.883 on 998 degrees of freedom
## Multiple R-squared:  0.0001013,  Adjusted R-squared:  -0.0009006 
## F-statistic: 0.1011 on 1 and 998 DF,  p-value: 0.7506
ggplot(
  dados_alunos,
  aes(x = faltas, y = nota_media)
) +
  geom_point() +
  geom_smooth(method = "lm", se = TRUE) +
  labs(
    title = "Modelo de regressão linear",
    x = "Número de faltas",
    y = "Nota média"
  ) +
  theme_minimal()
## `geom_smooth()` using formula = 'y ~ x'

6 6. Síntese dos resultados

A análise realizada permitiu observar diferentes características do banco de dados e investigar possíveis relações entre as variáveis estudadas.

A média de faltas dos alunos foi de 8.01.

A nota média geral foi de 6.44 pontos.

A correlação entre faltas e nota média foi de -0.01.

As análises envolvendo turno, escolaridade da mãe e acesso à internet possibilitaram uma visão mais ampla das características dos estudantes e de seus possíveis efeitos sobre o desempenho acadêmico.

7 7. Respostas às questões investigativas

7.1 Questão 1 – Relação entre infraestrutura e desempenho

O acesso à internet pode estar relacionado às condições de estudo dos alunos. A comparação das médias permite observar se existem diferenças no desempenho entre os estudantes que possuem e os que não possuem acesso à internet em casa.

7.2 Questão 2 – Capital cultural e rendimento

A escolaridade da mãe foi utilizada como uma variável representativa do contexto familiar. A análise permite verificar se diferentes níveis de escolaridade estão associados a diferentes desempenhos médios.

7.3 Questão 3 – Frequência e desempenho

A relação entre faltas e nota média foi analisada por meio do coeficiente de correlação. Esse procedimento permite verificar se existe uma associação entre a frequência escolar e o desempenho acadêmico.

7.4 Questão 4 – Perfil do aluno noturno

A análise por turno permite comparar características dos estudantes dos diferentes períodos, especialmente em relação às faltas e às notas médias.

7.5 Questão 5 – Desigualdades educacionais

As variáveis analisadas podem revelar diferenças nas condições de estudo e no desempenho dos alunos. Entretanto, os resultados devem ser interpretados com cautela, pois associação entre variáveis não significa necessariamente relação de causa e efeito.

7.6 Questão 6 – Análise por subgrupos

A análise multivariada possibilita observar os dados considerando mais de uma característica simultaneamente, permitindo identificar possíveis diferenças entre subgrupos de alunos.

8 8. Conclusão

A análise estatística realizada permitiu explorar as principais características dos alunos presentes no banco de dados e investigar relações entre frequência, desempenho acadêmico, turno, escolaridade da mãe e acesso à internet.

Os resultados mostram a importância da utilização de ferramentas estatísticas para organizar e interpretar informações educacionais. A análise dos dados permite identificar padrões e diferenças entre grupos, contribuindo para uma compreensão mais ampla da realidade estudada.

É importante destacar que os resultados encontrados representam associações observadas no banco de dados analisado e não devem ser interpretados automaticamente como relações causais.

9 9. Limitações da análise

Entre as limitações da análise, destaca-se o fato de que os resultados dependem das informações disponíveis no banco de dados.

Além disso, a existência de associação entre duas variáveis não significa necessariamente que uma variável seja responsável pela alteração da outra.

Outros fatores que não foram considerados neste estudo também podem influenciar o desempenho dos alunos.

10 10. Possibilidades de pesquisas futuras

Pesquisas futuras podem ampliar a análise incluindo novas variáveis relacionadas ao contexto socioeconômico, às condições de estudo, à participação familiar e a outros aspectos da vida escolar.

Também podem ser utilizados modelos estatísticos mais avançados para investigar simultaneamente um número maior de fatores relacionados ao desempenho acadêmico.

11 11. Considerações finais

A realização deste relatório possibilitou aplicar conceitos de estatística descritiva, análise bivariada e análise multivariada utilizando o R e o RStudio.

A utilização dessas ferramentas contribui para o desenvolvimento da capacidade de trabalhar com dados, produzir gráficos, calcular medidas estatísticas e interpretar resultados de forma organizada.

12 12. Referências