Essa classificação, será com base na nota e feita para cada aluno da lista, pensando numa lista pequena é fácil ver quem está abaixo ou acima da média, mas se pensarmos em 50, 100 ou 200 alunos já começa a se tornar complicado. Nessa hora o R ajuda muito a criar uma tabela com essas informações e facilita o trabalho futuro com esses dados.
Para começar, criaremos a lista:
> alunos <- c("Aline","João","Alonso","Josias", "Camila", "Katia","Pedro", "José", "Ricardo", "Luis", "Luiza", "Gabriela")
> notas <- c(9.2,5.6,7.7,7.0,6.3,6.5,6.0,6.1,8.2,7.0,8.8,5.9)
Vale lembrar que a lista poderia estar em um arquivo csv criado no Excel (ou LibreOffice), ou mesmo em um arquivo txt. Daí bastaria importar o arquivo.
> dados <- data.frame(alunos,notas) #criar a tabela
Para começar, é preciso quantos alunos está na lista, para isso:
> length(alunos)
Nesse caso foi 12, então agora é classificar quem tem nota abaixo de 6.0 como reprovado e maior que 6.0 como aprovado. Para isso será criado um vetor status, que depois será incluído no data frame.
> status <- 0
> for (i in 1:12) {
if(notas[i] < 7.0){status[i] = "Reprovado"}
else{status[i] = "Aprovado"}
}
O vetor status agora contém a classificação de cada aluno, então basta inserir-lo na tabela
> tabela <- cbind(dados,status)
> tabela #exibe o resultado
Agora vamos pensar em outra classificação. Supondo que a média seja 7, e que os alunos com nota acima de 6 tem a possibilidade de fazer um exame para serem reavaliados. Podemos classificá-los em aprovados, de exame e reprovados.
Os dados serão os mesmo, o que mudará será as condições do comando for:
> status <- 0
> for (i in 1:12) {
if(notas[i] < 6.0){status[i] = "Reprovado"}
else if(notas[i] < 7.0){status[i] = "Exame"}
else{status[i] = "Aprovado"}
}
> tabela <- cbind(dados,status)
> tabela #exibe o resultado
Vídeo tutorial:
Nenhum comentário:
Postar um comentário