Relatório de Análise de Dados – EST 128

Autor

Chaiani Guimaraes e Eliele Miranda

library(dplyr)
library(ggplot2)
library(plotly)
library(fdth)
library(boot)

1 Identificação do grupo

  • Disciplina: EST 128 – Pacotes Estatísticos II
  • Grupo: 1
  • Integrantes: Chaiani Guimaraes e Eliele Miranda
  • Base de dados utilizada: Desempenho Acadêmico

2 1. Introdução

A análise estatística é uma ferramenta essencial para compreender o comportamento dos dados e identificar relações entre variáveis de interesse.

Neste trabalho, serão utilizadas técnicas de estatística descritiva e inferencial para explorar informações relacionadas ao desempenho acadêmico dos estudantes, buscando resumir as características do conjunto de dados, investigar associações entre as variáveis e realizar inferências com base na amostra analisada.

3 2. Leitura e inspeção inicial da base

dados <- read.csv("grupo1_desempenho_academico.csv", stringsAsFactors = FALSE)
head(dados)
  id_estudante turma modalidade horas_estudo_semanais frequencia_pct
1            1     B Presencial                   6.7             88
2            2     C    Hibrida                   9.2             78
3            3     C    Hibrida                  12.6             81
4            4     B    Hibrida                   5.3             91
5            5     A    Hibrida                   9.7             81
6            6     A    Hibrida                  12.9             88
  projetos_concluidos uso_monitoria nota_programacao aprovado
1                   3           Sim              9.7      Sim
2                   3           Nao              9.2      Sim
3                   6           Sim             10.0      Sim
4                   5           Nao              7.9      Sim
5                   1           Nao              8.4      Sim
6                   4           Sim             10.0      Sim
dim(dados)
[1] 90  9
names(dados)
[1] "id_estudante"          "turma"                 "modalidade"           
[4] "horas_estudo_semanais" "frequencia_pct"        "projetos_concluidos"  
[7] "uso_monitoria"         "nota_programacao"      "aprovado"             
str(dados)
'data.frame':   90 obs. of  9 variables:
 $ id_estudante         : int  1 2 3 4 5 6 7 8 9 10 ...
 $ turma                : chr  "B" "C" "C" "B" ...
 $ modalidade           : chr  "Presencial" "Hibrida" "Hibrida" "Hibrida" ...
 $ horas_estudo_semanais: num  6.7 9.2 12.6 5.3 9.7 12.9 4.2 10.8 9.8 12.5 ...
 $ frequencia_pct       : int  88 78 81 91 81 88 86 83 100 92 ...
 $ projetos_concluidos  : int  3 3 6 5 1 4 3 2 1 2 ...
 $ uso_monitoria        : chr  "Sim" "Nao" "Sim" "Nao" ...
 $ nota_programacao     : num  9.7 9.2 10 7.9 8.4 10 7.5 8.6 9 10 ...
 $ aprovado             : chr  "Sim" "Sim" "Sim" "Sim" ...
summary(dados)
  id_estudante      turma            modalidade        horas_estudo_semanais
 Min.   : 1.00   Length:90          Length:90          Min.   : 3.400       
 1st Qu.:23.25   Class :character   Class :character   1st Qu.: 7.700       
 Median :45.50   Mode  :character   Mode  :character   Median : 9.900       
 Mean   :45.50                                         Mean   : 9.716       
 3rd Qu.:67.75                                         3rd Qu.:11.575       
 Max.   :90.00                                         Max.   :20.000       
 frequencia_pct   projetos_concluidos uso_monitoria      nota_programacao
 Min.   : 61.00   Min.   :0.000       Length:90          Min.   : 5.700  
 1st Qu.: 82.25   1st Qu.:2.000       Class :character   1st Qu.: 8.700  
 Median : 87.00   Median :3.000       Mode  :character   Median : 9.550  
 Mean   : 86.71   Mean   :2.944                          Mean   : 9.146  
 3rd Qu.: 92.00   3rd Qu.:4.000                          3rd Qu.:10.000  
 Max.   :100.00   Max.   :7.000                          Max.   :10.000  
   aprovado        
 Length:90         
 Class :character  
 Mode  :character  
                   
                   
                   

Inicialmente, foi realizada uma inspeção do conjunto de dados para identificar sua estrutura e composição. Nesta etapa, verificou-se o número de observacões, bem como sua classificação.

O conjunto de dados é composto por 90 observações e 9 variáveis, incluindo variáveis qualitativas como turma, modalidade, uso de monitoria e aprovação, e quantitativas, como horas de estudo semanais, frequência, projetos concluídos, ID dos estudantes e nota em programação, relacionadas ao perfil e ao desempenho acadêmico dos estudantes.

4 3. Organização e preparação dos dados

Após a inspeção inicial, foi realizada a verificação da estrutura do banco de dados, identificando e avaliando possíveis incosistências como valores ausentes, duplicados ou registros incompatíveis.

colSums(is.na(dados))
         id_estudante                 turma            modalidade 
                    0                     0                     0 
horas_estudo_semanais        frequencia_pct   projetos_concluidos 
                    0                     0                     0 
        uso_monitoria      nota_programacao              aprovado 
                    0                     0                     0 
dados <- na.omit(dados)
sum(duplicated(dados))
[1] 0
dados <- dados[!duplicated(dados), ]
dados <- subset(dados, frequencia_pct >= 0 & frequencia_pct <= 100)
dados <- subset(dados, nota_programacao >= 0 & nota_programacao <= 10)
dados <- subset(dados, horas_estudo_semanais >= 0)
dados <- subset(dados, projetos_concluidos >= 0)
summary(dados)
  id_estudante      turma            modalidade        horas_estudo_semanais
 Min.   : 1.00   Length:90          Length:90          Min.   : 3.400       
 1st Qu.:23.25   Class :character   Class :character   1st Qu.: 7.700       
 Median :45.50   Mode  :character   Mode  :character   Median : 9.900       
 Mean   :45.50                                         Mean   : 9.716       
 3rd Qu.:67.75                                         3rd Qu.:11.575       
 Max.   :90.00                                         Max.   :20.000       
 frequencia_pct   projetos_concluidos uso_monitoria      nota_programacao
 Min.   : 61.00   Min.   :0.000       Length:90          Min.   : 5.700  
 1st Qu.: 82.25   1st Qu.:2.000       Class :character   1st Qu.: 8.700  
 Median : 87.00   Median :3.000       Mode  :character   Median : 9.550  
 Mean   : 86.71   Mean   :2.944                          Mean   : 9.146  
 3rd Qu.: 92.00   3rd Qu.:4.000                          3rd Qu.:10.000  
 Max.   :100.00   Max.   :7.000                          Max.   :10.000  
   aprovado        
 Length:90         
 Class :character  
 Mode  :character  
                   
                   
                   
dim(dados)
[1] 90  9

Mesmo após a análise de possíveis inconsistências, dados ausentes, duplicados ou incompatíveis, a base de dados demonstrou integridade, não apresentando tais anomalias e preservando a totalidade das observações e variáveis.

5 4. Análise descritiva univariada

Para a análise descritiva univariada, das 9 variáveis, selecionaram-se 7 para estudo. As variáveis qualitativas turma, modalidade, uso de monitoria e aprovação, e quantitativas horas de estudo semanais, frequência e nota em programação, foram as selecionadas.

Foram excluídas as variáveis ID dos estudantes e projetos concluídos, por não agregarem informações complementares ou de relevância analítica para este relatório.

Selecione variáveis relevantes da base e apresente: - tabelas de frequência para variáveis qualitativas; - medidas de posição, dispersão e forma para variáveis quantitativas; - gráficos adequados.

5.1 4.1 Variáveis qualitativas

# Turma
table(dados$turma)

 A  B  C 
38 24 28 
prop.table(table(dados$turma))*100

       A        B        C 
42.22222 26.66667 31.11111 
# Modalidade
table(dados$modalidade)

   Hibrida Presencial     Remota 
        29         44         17 
prop.table(table(dados$modalidade))*100

   Hibrida Presencial     Remota 
  32.22222   48.88889   18.88889 
# Uso de monitoria
table(dados$uso_monitoria)

Nao Sim 
 56  34 
prop.table(table(dados$uso_monitoria))*100

     Nao      Sim 
62.22222 37.77778 
# Aprovação
table(dados$aprovado)

Nao Sim 
  1  89 
prop.table(table(dados$aprovado))*100

      Nao       Sim 
 1.111111 98.888889 
barplot(table(dados$turma),
        main = "Distribuição por turma",
        xlab = "Turma",
        ylab = "Frequência",
        col = "gray80",
        border = "black")

barplot(table(dados$modalidade),
        main = "Distribuição por modalidade",
        xlab = "Modalidade",
        ylab = "Frequência",
        col = "gray80",
        border = "black")

barplot(table(dados$uso_monitoria),
        main = "Uso de monitoria",
        xlab = "Categoria",
        ylab = "Frequência",
        col = "gray80",
        border = "black")

barplot(table(dados$aprovado),
        main = "Situação de aprovação",
        xlab = "Categoria",
        ylab = "Frequência",
        col = "gray80",
        border = "black")

A distribuição dos estudantes entre as turmas mostrou que a turma A apresentou a maior frequência, com 38 estudantes, sendo 42,2%, seguida da turma C, com 28 estudantes, ocupando 31,1%, e pela turma B, com 24 estudantes, 26,7%. Observa-se uma distribuição relativamente equilibrada, embora a turma A concentre a maior parcela dos alunos.

Em relação á modalidade de ensino, a presencial foi a mais frequente, representando 44 estudantes, sendo 48,9%, a modalidade híbrida correspondeu a 29 estudantes, 32,2%, enquanto a remota apresentou a menor frequência, 17 estudantes, ficando com 18,9%.

Quanto ao uso de monitoria, verificou-se que 56 estudantes, 62,2%, informaram não utilizar esse recurso, enquanto 34 estudantes, 37,8% relataram utilizá-lo. Assim, observa-se predominância de estudantes que não fazem uso da monitoria.

A variável aprovação apresentou uma distribuição bastante concentrada na categoria “Sim”, com 89 estudantes, 98,9%, aprovados, e apenas 1 estudante, 1,1%, foi classificado como não aprovado, indicando uma taxa de aprovação muito elevada na amostra.

5.2 4.2 Variáveis quantitativas

# Horas de estudo
summary(dados$horas_estudo_semanais)
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
  3.400   7.700   9.900   9.716  11.575  20.000 
sd(dados$horas_estudo_semanais)
[1] 3.029774
IQR(dados$horas_estudo_semanais)
[1] 3.875
# Frequência
summary(dados$frequencia_pct)
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
  61.00   82.25   87.00   86.71   92.00  100.00 
sd(dados$frequencia_pct)
[1] 6.860151
IQR(dados$frequencia_pct)
[1] 9.75
# Nota em programação
summary(dados$nota_programacao)
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
  5.700   8.700   9.550   9.146  10.000  10.000 
sd(dados$nota_programacao)
[1] 1.024329
IQR(dados$nota_programacao)
[1] 1.3
hist(dados$horas_estudo_semanais,
     main = "Horas de estudo semanais",
     xlab = "Horas",
     ylab = "Frequência",
     col = "gray80",
     border = "black")

hist(dados$frequencia_pct,
     main = "Frequência",
     xlab = "Frequência (%)",
     ylab = "Frequência",
     col = "gray80",
     border = "black")

hist(dados$nota_programacao,
     main = "Nota em programação",
     xlab = "Nota",
     ylab = "Frequência",
     col = "gray80",
     border = "black")

As horas de estudo semanais apresentam média de 9,72 horas e mediana de 9,90 horas, indicando valores centrais bastante próximos. Os estudantes dedicaram entre 3,4 e 20 horas de estudo por semana. O desvio padrão foi de 3,3 horas e o intervalo interquartil de 3,88 horas, indicando uma dispersão moderada dos dados. O histograma mostra maior concentração de estudantes entre aproximadamente 8 e 12 horas de estudo semanais.

A frequência dos estudantes apresentou média de 86,71% e mediana de 87%, com valores variando entre 61% e 100%. O desvio padrão foi de 6,76 pontos percentuais e o intervalo interquartil de 9,75 pontos percentuais, indicando variabilidade moderada. Pelo histograma, observa-se maior concentração de estudantes com frequência entre 80% e 95%.

As notas em programação apresentaram média de 9,15 e mediana de 9,55, variando de 5,7 a 10,0. O desvio padrão foi de 1,02 e o intervalo interquartil de 1,30, indicando baixa dispersão das notas. Observa-se uma maior concentração de estudantes com notas elevadas, principalmente entre 9 e 10 pontos, indicando um desempenho elevado na disciplina.

6 5. Análise descritiva bivariada

Para a análise descritiva bivariada, foram selecionadas combinações estratégicas entre as variáveis a fim de explorar o comportamento conjunto e identificar possíveis padrões no perfil dos estudantes.

O cruzamento qualitativa x qualitativa (uso da monitoria x modalidade) busca investigar se o formato de ensino (presencial, híbrido ou remoto) está associado à adesão ao suporte pedagógico. Na relação qualitativa x quantitativa (turma x frequencia), o objetivo é verificar se existem diferenças no engajamento e na assiduidade dos alunos entre as diferentes turmas avaliadas. Por fim, a analise quantitativa x quantitativa (horas de estudo semanais x nota em programação) visa explorar a correlação linear entre o tempo de dedicação extra-classe e o desempenho acadêmico final, testando a hipótese de que um maior esforço prático reflete diretamente em melhores pontuações.

tab <- table(dados$uso_monitoria, dados$modalidade)
tab
     
      Hibrida Presencial Remota
  Nao      23         25      8
  Sim       6         19      9
prop.table(tab, margin = 1)*100
     
       Hibrida Presencial   Remota
  Nao 41.07143   44.64286 14.28571
  Sim 17.64706   55.88235 26.47059
barplot(tab,
        beside = TRUE,
        col = c("white", "gray40"), 
        border = "black",
        legend = TRUE,
        xlab = "Uso de monitoria",
        ylab = "Frequência",
        main = "Uso de monitoria por modalidade")

aggregate(frequencia_pct ~ turma,
          data = dados,
          summary)
  turma frequencia_pct.Min. frequencia_pct.1st Qu. frequencia_pct.Median
1     A            61.00000               83.00000              87.00000
2     B            73.00000               80.75000              85.50000
3     C            78.00000               83.00000              87.50000
  frequencia_pct.Mean frequencia_pct.3rd Qu. frequencia_pct.Max.
1            86.92105               92.00000           100.00000
2            85.58333               89.50000           100.00000
3            87.39286               92.00000            95.00000
boxplot(frequencia_pct ~ turma,
        data = dados,
        col = "gray80",
        border = "black",
        xlab = "Turma",
        ylab = "Frequência (%)",
        main = "Frequência por turma")

cor(dados$horas_estudo_semanais,
    dados$nota_programacao)
[1] 0.6124185
plot(dados$horas_estudo_semanais,
     dados$nota_programacao,
     pch = 16,
     col = "black",
     xlab = "Horas de estudo semanais",
     ylab = "Nota em programação",
     main = "Horas de estudo × Nota em programação")

abline(lm(nota_programacao ~ horas_estudo_semanais,
          data = dados),
       col = "red",
       lwd = 2)

A análise da relação entre modalidade de ensino e uso de monitoria mostra que, nas modalidades híbrida e presencial, predominam estudantes que não utilizam a monitoria. Já na modalidade remota, observa-se o comportamento oposto, sendo a única em que o número de estudantes que utilizam a monitoria é superior ao daqueles que não utilizam. Esse resultado sugere que os alunos da modalidade remota tendem a recorrer com maior frequência à monitoria em comparação às demais modalidades.

O boxplot indica que as três turmas apresentaram distribuições de frequência semelhantes, com medianas próximas de 85% a 90%. A turma A apresentou um valor discrepante (outlier) em torno de 61%, enquanto as turmas B e C não apresentaram valores extremos aparentes. No geral, não foram observadas diferenças expressivas na frequência entre as turmas.

O diagrama de dispersão mostra uma tendência positiva entre as horas de estudo semanais e a nota em programação. O coeficiente de correlação foi 0,612, indicando uma correlação positiva de intensidade moderada. Dessa forma, observa-se que estudantes que dedicam mais horas aos estudos tendem a obter notas mais elevadas em programação, embora a relação não seja perfeita.

7 6. Procedimento inferencial

7.1 6.1 Formulação do problema

Pergunta de pesquisa: Existe relação entre as horas de estudo semanais e a nota em programação dos estudantes?

Para responder a essa questão, será utilizado o teste de correlação de Pearson, apropriado para avaliar a existência de associação linear entre duas variáveis quantitativas.

As hipóteses são:

  • H₀: Não existe correlação linear entre as horas de estudo semanais e a nota em programação (ρ = 0).

  • H₁: Existe correlação linear entre as horas de estudo semanais e a nota em programação (ρ ≠ 0).

7.2 6.2 Execução

cor.test(dados$horas_estudo_semanais,
         dados$nota_programacao,
         method = "pearson")

    Pearson's product-moment correlation

data:  dados$horas_estudo_semanais and dados$nota_programacao
t = 7.2672, df = 88, p-value = 1.415e-10
alternative hypothesis: true correlation is not equal to 0
95 percent confidence interval:
 0.4642003 0.7272723
sample estimates:
      cor 
0.6124185 

7.3 6.3 Interpretação

O teste de correlação de Pearson apresentou um coeficiente de correlação de 0,612, indicando uma correlação positiva de intensidade moderada entre as horas de estudo semanais e a nota em programação. O valor-p obtido foi 1,415 × 10⁻¹⁰, sendo inferior ao nível de significância de 5% (p < 0,05). Dessa forma, rejeita-se a hipótese nula e conclui-se que existe evidência estatística de uma associação linear entre as duas variáveis. Assim, os resultados sugerem que estudantes que dedicam mais horas aos estudos tendem a obter notas mais altas em programação. Além disso, o intervalo de confiança de 95% para o coeficiente de correlação foi de 0,464 a 0,727, reforçando que a associação observada é positiva.

8 7. Simulação numérica ou bootstrap

8.1 7.1 Objetivo da etapa computacional

Nesta etapa será aplicada a técnica de bootstrap para estimar a distribuição amostral da média da variável nota em programação. O objetivo é avaliar a variabilidade da média utilizando reamostragens com reposição, sem a necessidade de realizar novas coletas de dados.

8.2 7.2 Código

set.seed(123)

medias_boot <- replicate(
  2000,
  mean(sample(dados$nota_programacao,
              size = nrow(dados),
              replace = TRUE))
)
mean(medias_boot)
[1] 9.141707
sd(medias_boot)
[1] 0.1093022
quantile(medias_boot, c(0.025, 0.975))
    2.5%    97.5% 
8.926639 9.341111 

8.3 7.3 Apresentação dos resultados

hist(medias_boot,
     main = "Distribuição bootstrap da média",
     xlab = "Média da nota em programação",
     col = "gray80",
     border = "black")

O bootstrap foi realizado com 2.000 reamostragens da variável nota em programação. A distribuição das médias apresentou formato aproximadamente simétrico e concentrou-se em torno de 9,14, valor muito próximo da média observada na amostra. O desvio padrão das médias bootstrap foi de aproximadamente 0,11, indicando baixa variabilidade da estimativa da média. Além disso, o intervalo de confiança de 95% obtido pelo bootstrap foi de 8,93 a 9,34, sugerindo que a média populacional da nota em programação tende a estar nesse intervalo. Dessa forma, os resultados indicam que a média estimada é estável e que o procedimento de bootstrap forneceu uma boa aproximação da distribuição amostral da média.

9 8. Conclusão

A análise dos dados permitiu caracterizar o perfil dos estudantes e identificar algumas relações entre as variáveis estudadas. Na análise descritiva, observou-se predominância de estudantes da modalidade presencial, elevada taxa de aprovação e notas concentradas próximas ao valor máximo. Na análise bivariada, verificou-se que a modalidade remota foi a única em que o uso da monitoria foi mais frequente, enquanto a frequência dos estudantes apresentou comportamento semelhante entre as turmas. Além disso, foi observada uma correlação positiva moderada entre as horas de estudo semanais e a nota em programação, indicando que estudantes que dedicam mais tempo aos estudos tendem a obter melhor desempenho. O procedimento de bootstrap mostrou que a média da nota em programação apresentou baixa variabilidade, reforçando a estabilidade da estimativa obtida. Como limitação, destaca-se que a análise foi realizada com uma única base de dados e um número limitado de variáveis, o que restringe a generalização dos resultados. Como desdobramento, estudos futuros podem incluir outras variáveis relacionadas ao desempenho acadêmico e aplicar diferentes técnicas estatísticas para aprofundar as análises.

10 9. Referências

R CORE TEAM. R: A Language and Environment for Statistical Computing. Vienna: R Foundation for Statistical Computing, 2025.

RIBEIRO, Marcelo. RPubs. Disponível em: RPubs – Marcelo Ribeiro. Acesso em: 8 jul. 2026.