Skip to content

Commit

Permalink
Final notes with exam
Browse files Browse the repository at this point in the history
  • Loading branch information
fernandomayer committed Jul 14, 2016
1 parent 36f8f46 commit f187bbb
Show file tree
Hide file tree
Showing 5 changed files with 320 additions and 63 deletions.
Binary file added figures/unnamed-chunk-14-1.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified figures/unnamed-chunk-15-1.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
82 changes: 41 additions & 41 deletions misc/notas.csv
@@ -1,41 +1,41 @@
Matricula,S1,S2,S3,S4,S5,S6,Freq
GRR20152147,7.5,6.5,5.3,4.5,7,6.5,14
GRR20150470,8.5,6,6,3,1,0,14
GRR20150417,9,10,10,8,10,7.6,18
GRR20150452,8.7,3,5.5,5,9,5.6,13
GRR20159633,9,8.1,8,4.3,8,7.7,18
GRR20158399,9,6.8,9,3.5,4.5,NA,16
GRR20157880,9.5,5,9.8,5,2,8.2,13
GRR20159917,9,6.6,5.4,1,6,3,10
GRR20152988,8.5,9.8,7,7.5,10,7.5,17
GRR20153016,9.8,10,NA,8.5,10,NA,13
GRR20159781,8,NA,NA,NA,NA,NA,3
GRR20152736,NA,NA,NA,NA,NA,NA,1
GRR20151292,9.5,7,8.9,1.5,6,5,11
GRR20159711,9.3,9,10,5,5,8.1,16
GRR20151516,9,10,9.9,5,9.5,NA,13
GRR20152591,9,9.5,8.4,7.5,10,NA,16
GRR20154112,8.5,4,7.5,3.5,7,6.5,17
GRR20154179,9.5,9.5,9.9,7,9,NA,17
GRR20154101,9.7,9.5,10,7,9,10,16
GRR20150978,9.8,9.8,10,7.5,10,9,18
GRR20153599,9.5,4.8,5,3.5,NA,8.1,12
GRR20150836,9,10,10,8,10,10,18
GRR20153646,10,6.8,7.3,4.8,9.8,6.5,14
GRR20156753,9.8,9.8,8.5,8,10,NA,11
GRR20152967,NA,NA,NA,NA,NA,NA,0
GRR20154966,10,9.8,10,9.5,10,10,18
GRR20159109,9.5,8.1,7,7.5,9,6.3,17
GRR20159053,9,8.6,5.4,5.5,9,3,17
GRR20154443,10,8,9,9,8,9.5,17
GRR20157092,9,9.1,5,3,7,9.1,16
GRR20159160,9,10,10,7.5,9,5.7,17
GRR20150149,4.5,2.5,6.7,0.5,6,7.5,16
GRR20155208,9,3.5,9,2.5,7,6.5,9
GRR20155156,6,5.5,8.9,5,2,9.1,15
GRR20149073,8,7,8,3,8,7.5,16
GRR20149145,7.5,2.5,5.3,5.5,9,7.5,15
GRR20149110,7.3,8.1,7,5.5,7,6.6,16
GRR20136720,9.5,9.8,9.9,5,9,NA,17
GRR20124652,NA,5.3,2.9,0.5,7,4,11
GRR20124646,6,5.9,1.8,4,7,8.5,14
Matricula,S1,S2,S3,S4,S5,S6,Freq,Ex
GRR20152147,7.5,6.5,5.3,4.5,7,6.5,14,NA
GRR20150470,8.5,6,6,3,1,0,14,5.5
GRR20150417,9,10,10,8,10,7.6,18,NA
GRR20150452,8.7,3,5.5,5,9,5.6,13,NA
GRR20159633,9,8.1,8,4.3,8,7.7,18,NA
GRR20158399,9,6.8,9,3.5,4.5,NA,16,NA
GRR20157880,9.5,5,9.8,5,2,8.2,13,NA
GRR20159917,9,6.6,5.4,1,6,3,10,NA
GRR20152988,8.5,9.8,7,7.5,10,7.5,17,NA
GRR20153016,9.8,10,NA,8.5,10,NA,13,NA
GRR20159781,8,NA,NA,NA,NA,NA,3,NA
GRR20152736,NA,NA,NA,NA,NA,NA,1,NA
GRR20151292,9.5,7,8.9,1.5,6,5,11,NA
GRR20159711,9.3,9,10,5,5,8.1,16,NA
GRR20151516,9,10,9.9,5,9.5,NA,13,NA
GRR20152591,9,9.5,8.4,7.5,10,NA,16,NA
GRR20154112,8.5,4,7.5,3.5,7,6.5,17,NA
GRR20154179,9.5,9.5,9.9,7,9,NA,17,NA
GRR20154101,9.7,9.5,10,7,9,10,16,NA
GRR20150978,9.8,9.8,10,7.5,10,9,18,NA
GRR20153599,9.5,4.8,5,3.5,NA,8.1,12,NA
GRR20150836,9,10,10,8,10,10,18,NA
GRR20153646,10,6.8,7.3,4.8,9.8,6.5,14,NA
GRR20156753,9.8,9.8,8.5,8,10,NA,11,NA
GRR20152967,NA,NA,NA,NA,NA,NA,0,NA
GRR20154966,10,9.8,10,9.5,10,10,18,NA
GRR20159109,9.5,8.1,7,7.5,9,6.3,17,NA
GRR20159053,9,8.6,5.4,5.5,9,3,17,NA
GRR20154443,10,8,9,9,8,9.5,17,NA
GRR20157092,9,9.1,5,3,7,9.1,16,NA
GRR20159160,9,10,10,7.5,9,5.7,17,NA
GRR20150149,4.5,2.5,6.7,0.5,6,7.5,16,5
GRR20155208,9,3.5,9,2.5,7,6.5,9,NA
GRR20155156,6,5.5,8.9,5,2,9.1,15,NA
GRR20149073,8,7,8,3,8,7.5,16,NA
GRR20149145,7.5,2.5,5.3,5.5,9,7.5,15,NA
GRR20149110,7.3,8.1,7,5.5,7,6.6,16,NA
GRR20136720,9.5,9.8,9.9,5,9,NA,17,NA
GRR20124652,NA,5.3,2.9,0.5,7,4,11,3
GRR20124646,6,5.9,1.8,4,7,8.5,14,NA
79 changes: 66 additions & 13 deletions notas.Rmd
Expand Up @@ -20,13 +20,9 @@ notas <- read.csv("misc/notas.csv")
notas$Matricula <- as.numeric(gsub("GRR", "", notas$Matricula))
notas <- notas[order(notas$Matricula), ]
rownames(notas) <- 1:nrow(notas)
## Verifica se existe a coluna 'Freq' com as frequencias. Se houver,
## remove ela para calcular as notas
if("Freq" %in% names(notas)){
notas.col <- 2:(ncol(notas) - 1)
} else{
notas.col <- 2:ncol(notas)
}
## Seleciona apenas as colunas com as notas de sabatinas (S*)
notas.col <- which(names(notas) %in%
names(notas)[grep("^S", names(notas))])
```

## Histograma e box plot geral
Expand Down Expand Up @@ -81,11 +77,7 @@ round(apply(notas[, notas.col], 2, statm), 2)
abaixo as médias finais calculadas!**

```{r, results='asis'}
if("Freq" %in% names(notas)){
kable(notas[-which(names(notas) %in% "Freq")], align = "c")
} else{
kable(notas, align = "c")
}
kable(notas[, c(1, notas.col)], align = "c")
```

## Resultados finais
Expand Down Expand Up @@ -244,24 +236,85 @@ notas2$Media2[cond.exam1 & cond.nota2] <-
notas.fim <- notas2[, 1:5]
notas.fim$M <- notas2$Media2
notas.fim$F <- notas2$Freq.rel
```

```{r}
##----------------------------------------------------------------------
## Antes do exame (Ex)
## Cria a coluna Situacao
notas.fim$S <- "Ap"
notas.fim$S[notas.fim$M >= 4 & notas.fim$M < 7] <- "Ex"
notas.fim$S[notas.fim$M < 4] <- "Re"
## Mostra tabela
## kable(notas.fim, align = "c")
```

<!-- Número de alunos em cada situação: -->

```{r, include=FALSE}
## addmargins(table(notas.fim$S))
```

<!-- Gráfico de barras com os percentuais por situação: -->

```{r, include=FALSE}
## barplot(prop.table(table(notas.fim$S))*100,
## xlab = "Situação", ylab = "Frequência (%)")
```

**Após o exame**: as notas dos exames estão na coluna `E`. A média final
(`MF`) é a mesma para quem não fez exame, e é a média entre a média
final (`M`) e a nota do exame (`E`) para quem fez exame. A média final
arredondada (`MFA`) é a nota que será lançada no sistema. A coluna `SF`
mostra a situação final dos alunos após o exame.

```{r}
##----------------------------------------------------------------------
## Após exame (Ex)
## Insere notas do exame
notas.fim$E <- notas$Ex
## Calcula média final (MF), que é média da nota final com a nota do
## exame (apenas para os que ficaram de exame)
notas.fim$MF <- notas.fim$M
notas.fim$MF[notas.fim$S == "Ex"] <- (notas.fim$M[notas.fim$S == "Ex"] +
notas.fim$E[notas.fim$S == "Ex"])/2
## Calcula a média final arredonadada (MFA), que é a média multiplicada por
## 10 e arredondada para cima (é como será lançada no sistema)
notas.fim$MFA <- ceiling(notas.fim$MF*10)
## Cria a coluna Situacao final (SF), que indica a situação após exame
notas.fim$SF <- "Ap"
notas.fim$SF[notas.fim$MFA < 50] <- "Re"
## Mostra tabela
kable(notas.fim, align = "c")
```

Número de alunos em cada situação:

- Antes do exame
```{r}
addmargins(table(notas.fim$S))
```
- Após o exame
```{r}
addmargins(table(notas.fim$SF))
```

Gráfico de barras com os percentuais por situação:

```{r}
par(mfrow = c(1, 2))
barplot(prop.table(table(notas.fim$S))*100,
xlab = "Situação", ylab = "Frequência (%)")
xlab = "Situação", ylab = "Frequência (%)",
main = "Antes do exame")
barplot(prop.table(table(notas.fim$SF))*100,
xlab = "Situação", ylab = "Frequência (%)",
main = "Após o exame")
par(mfrow = c(1, 1))
```

0 comments on commit f187bbb

Please sign in to comment.