library(dplyr)
library(ggplot2)
library(plotly)
library(fdth)
library(boot)Relatório de Análise de Dados – EST 128
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.