library(plotly)
library(DT)
library(dplyr)
library(knitr)
library(ggplot2)
library(reshape2)
Os presentes dados foram obtidos para avaliação e acompanhamentos dos alunos no decorrer do projeto de nosso curso. As avaliações são: Avaliação de curso - Impressa e respondida á mão em 09/11/2024 Avaliação introdutoria á robótica - feito via Kahoot 10/11/2024 Avaliação sobre Funções - feito via Kahoot 24/11/2024 Avaliação de prática - feito via Kahoot 01/12/2024 Avaliação final - feito via Google Forms 14/12/2024 Avaliação de curso final - Impressa e respondida á mão em 14/12/2024
# Supondo que você já tenha lido os dados
dados_avaliativos_curso_1 <- read.csv("dataset/Dados avaliativos - Avaliação do curso.csv")
dados_avaliativos_curso_2 <- read.csv("dataset/Dados avaliativos eso - Avaliação final do curso.csv")
# Substituindo valores faltantes por NA
dados_avaliativos_curso_1[is.na(dados_avaliativos_curso_1)] <- NA
dados_avaliativos_curso_2[is.na(dados_avaliativos_curso_2)] <- NA
# Importando a biblioteca DT
library(DT)
# Criando tabelas interativas para ambos os conjuntos de dados
tabela_1 <- datatable(dados_avaliativos_curso_1, options = list(pageLength = 5))
tabela_2 <- datatable(dados_avaliativos_curso_2, options = list(pageLength = 5))
# Exibindo as tabelas
tabela_1
tabela_2
NA
# Carregar a biblioteca
library(plotly)
# Selecionar as colunas numéricas a partir da pergunta 3
dados_avaliativos_curso_1 <- dados_avaliativos_curso_1[4:nrow(dados_avaliativos_curso_1),]
dados_avaliativos_curso_2 <- dados_avaliativos_curso_2[4:nrow(dados_avaliativos_curso_2),]
# Criar um dataframe para cada aluno
alunos <- colnames(dados_avaliativos_curso_1)[-1] # nomes dos alunos
graficos <- list() # lista para armazenar os gráficos
for (aluno in alunos) {
# Verificar se o aluno tem respostas completas antes e depois
if (!any(is.na(dados_avaliativos_curso_1[,aluno])) && !any(is.na(dados_avaliativos_curso_2[,aluno]))) {
df <- data.frame(
Pergunta = as.numeric(rownames(dados_avaliativos_curso_1)), # converter para numérico para ordenar corretamente
Curso_1 = as.numeric(dados_avaliativos_curso_1[,aluno]),
Curso_2 = as.numeric(dados_avaliativos_curso_2[,aluno])
)
# Ordenar o dataframe pela pergunta
df <- df[order(df$Pergunta),]
# Criar o gráfico de linhas
p <- plot_ly(df, x = ~Pergunta) %>%
add_trace(y = ~Curso_1, type = 'scatter', mode = 'lines', name = 'Antes') %>%
add_trace(y = ~Curso_2, type = 'scatter', mode = 'lines', name = 'Depois') %>%
layout(title = aluno)
graficos[[aluno]] <- p
}
}
# Exibir os gráficos
graficos
$Ian.Victor
$Júlia.Fernanda
$Vinicius.Ivanildo
$João.Victor
$Valéria.Aguiar
NA
dados_avaliacao_1 <- read.csv("dataset/Dados avaliativos eso - Avaliação Introdução robótica.csv")
dados_avaliacao_2 <- read.csv("dataset/Dados avaliativos eso - Avaliação Função.csv")
dados_avaliacao_3 <- read.csv("dataset/Dados avaliativos eso - Avaliação prática ev3.csv")
dados_avaliacao_4 <- read.csv("dataset/Dados avaliativos eso - Avaliação Final.csv")
# Lista com os dados de avaliação
dados_avaliacao <- list(dados_avaliacao_1, dados_avaliacao_2, dados_avaliacao_3, dados_avaliacao_4)
# Loop para cada conjunto de dados de avaliação
for (i in 1:length(dados_avaliacao)) {
# Remover colunas com NA
dados <- dados_avaliacao[[i]][ , colSums(is.na(dados_avaliacao[[i]])) == 0]
# Calcular o percentual de acertos e erros para cada aluno
percentuais_alunos <- dados %>%
summarise(across(everything(), ~mean(. == 1), .names = "Percentual de acertos de {col}"),
across(everything(), ~mean(. == 0), .names = "Percentual de erros de {col}"))
# Calcular o percentual de acertos e erros para a turma
percentual_turma <- dados %>%
summarise(Percentual_de_acertos_turma = mean(unlist(.) == 1),
Percentual_de_erros_turma = mean(unlist(.) == 0))
# Exibir os resultados
print(paste("Dados de avaliação", i))
print(percentuais_alunos)
print(percentual_turma)
}
[1] "Dados de avaliação 1"
[1] "Dados de avaliação 2"
[1] "Dados de avaliação 3"
[1] "Dados de avaliação 4"