diff --git a/US15 - analise_US6.R b/US15 - analise_US6.R new file mode 100644 index 0000000..60583cd --- /dev/null +++ b/US15 - analise_US6.R @@ -0,0 +1,108 @@ +# Script para analisar a rela��o entre o tempo total de estudo e atividade de estudo. +# Iury Gregory Melo Ferreira - Vers�o 2.0 (Fevereiro 2013) + +require(nortest) +require(ggplot2) + +#leitura dos dados.aula +dados.aula.atividade.aula <- read.csv("dados/AgrupamentoAtividadeEmAula.csv") +dados.aula.atividade.aula <- dados.aula.atividade.aula[,-1] #remocao das colunas nao necessarias +dados.aula.sessao.aula <- read.csv("dados/tableSumDisciplineEmAula.csv") + +#merge para associar para cada aluno seu tempo total de estudo e seu tempo de atividade. +dados.aula <- merge(dados.aula.sessao.aula,dados.aula.atividade.aula,by.x="matricula",by.y="matricula") +dados.aula$sumSession <- dados.aula$sumSession/3600 + + +#testes de normalidade para os dados.aula +print( ad.test(dados.aula$sumSession)) +print( shapiro.test(dados.aula$sumSession)) + +print( ad.test(dados.aula$atividade)) +print( shapiro.test(dados.aula$atividade)) + + +#teste de correla��o +print( cor.test(dados.aula$sumSession,dados.aula$atividade,method=c("kendall"))) +print( cor.test(dados.aula$sumSession,dados.aula$atividade,method=c("spearman"))) + +#grafico para analise dos dados.aula de tempo total de estudo +png(filename = "US6-TempoTotalEstudo-EmAula.png", width=650) +par(mfrow=c(1,2)) +hist(dados.aula$sumSession, main="Histograma Tempo Total de Estudo", xlab="Tempo Total de Estudo", ylab="Frequencia") +qqnorm(dados.aula$sumSession) +qqline(dados.aula$sumSession) +dev.off() + +#grafico para analise dos dados.aula da atividade de estudo. +png(filename = "US6-AtividadeEstudo-EmAula.png", width=650) +par(mfrow=c(1,2)) +hist(dados.aula$atividade, main="Histograma Atividade", xlab="Atividade de Estudo", ylab="Frequencia") +qqnorm(dados.aula$atividade) +qqline(dados.aula$atividade) +dev.off() + +#grafico log log para mostrar a correlacao entre os dados.aula. +grafico <- ggplot(dados.aula,aes(sumSession,atividade)) + + geom_point() + geom_smooth(method=lm,se=FALSE) + + scale_x_log10() + scale_y_log10() + + theme_bw()+labs(x="Tempo Total de Estudo (log)",y="Atividade de Estudo (log)") + + theme(panel.grid.minor.x=element_blank(), panel.grid.major.x=element_blank())+ + theme(axis.ticks = element_blank()) + +png(filename = "ScatterplotUS6-EmAula.png", width = 480, height = 480) +print(grafico) +dev.off() + + +#FORA HORARIO DE AULA# + +#leitura dos dados.fora +dados.atividade.fora <- read.csv("dados/AgrupamentoAtividadeForadeAula.csv") +dados.atividade.fora <- dados.atividade.fora[,-1] #remocao das colunas nao necessarias +dados.sessao.fora <- read.csv("dados/tableSumDisciplineForadeAula.csv") + +#merge para associar para cada aluno seu tempo total de estudo e seu tempo de atividade. +dados.fora <- merge(dados.sessao.fora,dados.atividade.fora,by.x="matricula",by.y="matricula") +dados.fora$sumSession <- dados.fora$sumSession/3600 + + +#testes de normalidade para os dados.fora +print( ad.test(dados.fora$sumSession)) +print( shapiro.test(dados.fora$sumSession)) + +print( ad.test(dados.fora$atividade)) +print( shapiro.test(dados.fora$atividade)) + + +#teste de correla��o +print( cor.test(dados.fora$sumSession,dados.fora$atividade,method=c("kendall"))) +print( cor.test(dados.fora$sumSession,dados.fora$atividade,method=c("spearman"))) + +#grafico para analise dos dados.fora de tempo total de estudo +png(filename = "US6-TempoTotalEstudo-ForaAula.png", width=650) +par(mfrow=c(1,2)) +hist(dados.fora$sumSession, main="Histograma Tempo Total de Estudo Fora de Aula", xlab="Tempo Total de Estudo", ylab="Frequencia") +qqnorm(dados.fora$sumSession) +qqline(dados.fora$sumSession) +dev.off() + +#grafico para analise dos dados.fora da atividade de estudo. +png(filename = "US6-AtividadeEstudo-ForaDeAula.png", width=650) +par(mfrow=c(1,2)) +hist(dados.fora$atividade, main="Histograma Atividade Fora de Aula", xlab="Atividade de Estudo", ylab="Frequencia") +qqnorm(dados.fora$atividade) +qqline(dados.fora$atividade) +dev.off() + +#grafico log log para mostrar a correlacao entre os dados.fora. +grafico2 <- ggplot(dados.fora,aes(sumSession,atividade)) + + geom_point() + geom_smooth(method=lm,se=FALSE) + + scale_x_log10() + scale_y_log10() + + theme_bw()+labs(x="Tempo Total de Estudo (log)",y="Atividade de Estudo (log)") + + theme(panel.grid.minor.x=element_blank(), panel.grid.major.x=element_blank())+ + theme(axis.ticks = element_blank()) + +png(filename = "ScatterplotUS6-ForaDeAula.png", width = 480, height = 480) +print(grafico2) +dev.off() \ No newline at end of file diff --git a/US15 - analise_US8.R b/US15 - analise_US8.R new file mode 100644 index 0000000..291ed75 --- /dev/null +++ b/US15 - analise_US8.R @@ -0,0 +1,81 @@ +# Codigo para analise da varia��o da propor��o do n�mero de quest�es corretas por sess�o ao longo do semestre +# Iara Ribeiro - versao 2.0 (Fevereiro 2013) + +exercicios.aula <- read.csv("dados/SubmissoesHorarioDeAula.csv",header=T,stringsAsFactors=F) +exercicios.aula <- exercicios.aula[exercicios.aula$nota == 10,] + +sessoes.aula <- read.csv("dados/TableSessionLengthEmAula.csv", header = T) +sessoes.aula$correct.submissions = 0 +sessoes.aula$timestamp <- as.numeric(as.POSIXct(strptime(sessoes.aula$data.hora,"%m/%d/%Y %H:%M:%S"),origin="1970-01-01")) + +matriculas <- unique(sessoes.aula$matricula) + +submissoes.corretas <- c() + +for (i in 1:length(matriculas)){ + aluno <- matriculas[i] + sessoes.aluno <- sessoes.aula[sessoes.aula$matricula == aluno, ] + submissoes.aluno <- exercicios.aula[exercicios.aula$matricula == aluno, ] + for(i in 0:nrow(sessoes.aluno)){ + if (i == nrow(sessoes.aluno)){ + sessao.inicio <- sessoes.aluno[i,"timestamp"] + sessoes.aluno[i,"correct.submissions"] <- nrow(submissoes.aluno[submissoes.aluno$timestamp >= sessao.inicio, ]) + }else if(i == 1){ + sessao.inicio <- sessoes.aluno[i,"timestamp"] + sessoes.aluno[i,"correct.submissions"] <- nrow(submissoes.aluno[submissoes.aluno$timestamp == sessao.inicio, ]) + }else{ + sessao.inicio <- sessoes.aluno[i,"timestamp"] + sessao.fim <- sessoes.aluno[i+1,"timestamp"] + sessoes.aluno[i+1,"correct.submissions"] <- nrow(submissoes.aluno[submissoes.aluno$timestamp >= sessao.inicio + & submissoes.aluno$timestamp < sessao.fim, ]) + } + } + submissoes.corretas <- rbind(submissoes.corretas, sessoes.aluno) +} + +submissoes.corretas[,"timestamp"] = sub(' .*', '', submissoes.corretas[,"data.hora"]) +submissoes.corretas$proporcao.sub.corretas <- submissoes.corretas$correct.submissions/submissoes.corretas$amountSubmission + +write.csv(submissoes.corretas, "dados/submissoes_corretas_tempo_aula.csv") + + +############## +#FORA DE AULA# +############## + +exercicios.fora <- read.csv("dados/SubmissoesForaHorarioDeAula.csv",header=T,stringsAsFactors=F) +exercicios.fora <- exercicios.fora[exercicios.fora$nota == 10,] + +sessoes.fora <- read.csv("dados/TableSessionLengthForadeAula.csv", header = T) +sessoes.fora$correct.submissions = 0 +sessoes.fora$timestamp <- as.numeric(as.POSIXct(strptime(sessoes.fora$data.hora,"%m/%d/%Y %H:%M:%S"),origin="1970-01-01")) + +matriculas <- unique(sessoes.fora$matricula) + +submissoes.corretas.fora <- c() + +for (i in 1:length(matriculas)){ + aluno <- matriculas[i] + sessoes.aluno.fora <- sessoes.fora[sessoes.fora$matricula == aluno, ] + submissoes.aluno.fora <- exercicios.fora[exercicios.fora$matricula == aluno, ] + for(i in 0:nrow(sessoes.aluno.fora)){ + if (i == nrow(sessoes.aluno.fora)){ + sessao.inicio <- sessoes.aluno.fora[i,"timestamp"] + sessoes.aluno.fora[i,"correct.submissions"] <- nrow(submissoes.aluno.fora[submissoes.aluno.fora$timestamp >= sessao.inicio, ]) + }else if(i == 1){ + sessao.inicio <- sessoes.aluno.fora[i,"timestamp"] + sessoes.aluno.fora[i,"correct.submissions"] <- nrow(submissoes.aluno.fora[submissoes.aluno.fora$timestamp == sessao.inicio, ]) + }else{ + sessao.inicio <- sessoes.aluno.fora[i,"timestamp"] + sessao.fim <- sessoes.aluno.fora[i+1,"timestamp"] + sessoes.aluno.fora[i+1,"correct.submissions"] <- nrow(submissoes.aluno.fora[submissoes.aluno.fora$timestamp >= sessao.inicio + & submissoes.aluno.fora$timestamp < sessao.fim, ]) + } + } + submissoes.corretas.fora <- rbind(submissoes.corretas.fora, sessoes.aluno.fora) +} + +submissoes.corretas.fora[,"timestamp"] = sub(' .*', '', submissoes.corretas.fora[,"data.hora"]) +submissoes.corretas.fora$proporcao.sub.corretas <- submissoes.corretas.fora$correct.submissions/submissoes.corretas.fora$amountSubmission + +write.csv(submissoes.corretas.fora, "dados/submissoes_corretas_tempo_fora_aula.csv") diff --git a/US15 - analise_US9.R b/US15 - analise_US9.R new file mode 100644 index 0000000..2ee7b69 --- /dev/null +++ b/US15 - analise_US9.R @@ -0,0 +1,120 @@ +#SCRIPT US15 analise US9 + +require(nortest) +require(ggplot2) + +#leitura dos dados.aula +dados.aula <- read.csv("dados/tableSessionLength.csv",header=T) + +dados.aula.numSessoes <- with(dados.aula,aggregate(session,list(matricula),FUN=max)) +colnames(dados.aula.numSessoes) <- c("matricula","num.sessoes") +dados.aula.tempoEstudo <- with(dados.aula,aggregate(timeSession/3600,list(matricula),FUN=sum)) +colnames(dados.aula.tempoEstudo) <- c("matricula","tempo.estudo") + +#merge para associar o tempo de estudo e o numero de sessoes dos alunos. +tabela.aula <- merge(dados.aula.numSessoes,dados.aula.tempoEstudo,by.x="matricula",by.y="matricula") + + + +#testes de normalidade para os dados.aula +print( ad.test(tabela.aula$num.sessoes)) +print( shapiro.test(tabela.aula$num.sessoes)) + +print( ad.test(tabela.aula$tempo.estudo)) +print( shapiro.test(tabela.aula$tempo.estudo)) + +#teste de correla��o +print( cor.test(tabela.aula$num.sessoes,tabela.aula$tempo.estudo,method=c("kendall"))) +print( cor.test(tabela.aula$num.sessoes,tabela.aula$tempo.estudo,method=c("spearman"))) + + +#grafico para analise dos dados.aula de tempo de estudo. +png(filename = "US9-TempoEstudo-EmAula.png", width=650) +par(mfrow=c(1,2)) +hist(tabela.aula$tempo.estudo, main="Histograma Tempo de Estudo", xlab="Tempo de Estudo (hora)", ylab="Frequencia") +qqnorm(tabela.aula$tempo.estudo) +qqline(tabela.aula$tempo.estudo) +dev.off() + + +#grafico para analise dos dados.aula do numero de sessoes. +png(filename = "US9-NumeroDeSessoes-EmAula.png", width=650) +par(mfrow=c(1,2)) +hist(tabela.aula$num.sessoes, main="Histograma Numero de Sessoes ", xlab="Numero de Sessoes de Estudo", ylab="Numero de Alunos") +qqnorm(tabela.aula$num.sessoes) +qqline(tabela.aula$num.sessoes) +dev.off() + + +#grafico log log para mostrar a correlacao entre os dados.aula. +grafico <- ggplot(tabela.aula,aes(num.sessoes,tempo.estudo)) + + geom_point() + geom_smooth(method=lm,se=FALSE) + + scale_y_log10() + scale_x_log10() + + theme_bw()+labs(x="Numero de Sess�es (log)",y="Tempo Total de Estudo (log)") + + theme(panel.grid.minor.x=element_blank(), panel.grid.major.x=element_blank())+ + theme(axis.ticks = element_blank()) + +png(filename = "ScatterplotUS9-EmAula.png", width = 480, height = 480) +print(grafico) +dev.off() + + + + +###################### +#FORA HORARIO DE AULA# +###################### + + +dados.fora <- read.csv("dados/tableSessionLength.csv",header=T) +dados.fora.numSessoes <- with(dados.fora,aggregate(session,list(matricula),FUN=max)) +colnames(dados.fora.numSessoes) <- c("matricula","num.sessoes") +dados.fora.tempoEstudo <- with(dados.fora,aggregate(timeSession/3600,list(matricula),FUN=sum)) +colnames(dados.fora.tempoEstudo) <- c("matricula","tempo.estudo") + +#merge para associar o tempo de estudo e o numero de sessoes dos alunos. +tabela.fora <- merge(dados.fora.numSessoes,dados.fora.tempoEstudo,by.x="matricula",by.y="matricula") + + + +#testes de normalidade para os dados.fora +print( ad.test(tabela.fora$num.sessoes)) +print( shapiro.test(tabela.fora$num.sessoes)) + +print( ad.test(tabela.fora$tempo.estudo)) +print( shapiro.test(tabela.fora$tempo.estudo)) + +#teste de correla��o +print( cor.test(tabela.fora$num.sessoes,tabela.fora$tempo.estudo,method=c("kendall"))) +print( cor.test(tabela.fora$num.sessoes,tabela.fora$tempo.estudo,method=c("spearman"))) + + +#grafico para analise dos dados.fora de tempo de estudo. +png(filename = "US9-TempoEstudo-ForadeAula.png", width=650) +par(mfrow=c(1,2)) +hist(tabela.fora$tempo.estudo, main="Histograma Tempo de Estudo", xlab="Tempo de Estudo (hora)", ylab="Frequencia") +qqnorm(tabela.fora$tempo.estudo) +qqline(tabela.fora$tempo.estudo) +dev.off() + + +#grafico para analise dos dados.fora do numero de sessoes. +png(filename = "US9-NumeroDeSessoes-ForadeAula.png", width=650) +par(mfrow=c(1,2)) +hist(tabela.fora$num.sessoes, main="Histograma Numero de Sessoes ", xlab="Numero de Sessoes de Estudo", ylab="Numero de Alunos") +qqnorm(tabela.fora$num.sessoes) +qqline(tabela.fora$num.sessoes) +dev.off() + + +#grafico log log para mostrar a correlacao entre os dados.fora. +grafico <- ggplot(tabela.fora,aes(num.sessoes,tempo.estudo)) + + geom_point() + geom_smooth(method=lm,se=FALSE) + + scale_y_log10() + scale_x_log10() + + theme_bw()+labs(x="Numero de Sess�es (log)",y="Tempo Total de Estudo (log)") + + theme(panel.grid.minor.x=element_blank(), panel.grid.major.x=element_blank())+ + theme(axis.ticks = element_blank()) + +png(filename = "ScatterplotUS9-ForadeAula.png", width = 480, height = 480) +print(grafico) +dev.off() \ No newline at end of file diff --git a/US15 - tabela_US6.R b/US15 - tabela_US6.R new file mode 100644 index 0000000..805648d --- /dev/null +++ b/US15 - tabela_US6.R @@ -0,0 +1,40 @@ +#Script US15 +# Script para gerar tabela de agrupamento de atividade para ser utilizada +# no script US6_analise.R +# Iury Gregory Melo Ferreira - Vers�o 2.0 (Fevereiro 2013) + + +data_ex = read.csv("dados/SubmissoesHorarioDeAula.csv",header=F) +data_c2 = data_ex +for(i in seq(1:nrow(data_c2))){ + data_c2[i,"data"] = toString(data.frame(strsplit(toString(data_c2[i,"data.hora"]), " "))[1,]) +} + +data2 = data.frame(data_c2[,1]) +data2$data = data_c2$data +data_c2 = data2[!duplicated(data2),] #remove as linhas duplicadas, as vezes o aluno manda 10 ex. no msm dia +colnames(data_c2) = c("matricula","atividade") +dias_de_aula = 125 +data_c2$atividade = 1 +data_c2 = aggregate(data_c2$atividade, list(data_c2$matricula), FUN=sum) +colnames(data_c2) = c("matricula","atividade") +data_c2$atividade = data_c2$atividade/dias_de_aula + +write.csv(data_c2,"dados/AgrupamentoAtividadeEmAula.csv") + +data_fora = read.csv("dados/SubmissoesForaHorarioDeAula.csv",header=F) +data_c3 = data_fora +for(i in seq(1:nrow(data_c3))){ + data_c3[i,"data"] = toString(data.frame(strsplit(toString(data_c3[i,"data.hora"]), " "))[1,]) +} + +data3 = data.frame(data_c3[,1]) +data3$data = data_c3$data +data_c2 = data2[!duplicated(data2),] +colnames(data_c3) = c("matricula","atividade") +data_c3$atividade = 1 +data_c3 = aggregate(data_c3$atividade, list(data_c3$matricula), FUN=sum) +colnames(data_c3) = c("matricula","atividade") +data_c3$atividade = data_c3$atividade/dias_de_aula + +write.csv(data_c3,"dados/AgrupamentoAtividadeForadeAula.csv")