Amaç

Bu çalışmadaki amacım elde ettiğim .csv uzantılı öğrencilerin işaretlediği yanıtlara ilişkin veriler ile ilgili soruların doğru yanıtlarının olduğu .csv uzantılı belgeyi karşılaştırarak her bir öğrencinin doğru yanıtlarının sayılarını bularak, her öğrencinin sınavdan kaç puan aldığını hesaplayabilmek.

Komutlar

#options(stringsAsFactors = FALSE)
#options(dplyr.width=Inf)
#library(tidyverse)


sonuclar=read.table("makinebilg.csv",header=TRUE,sep = ";")
#35. veri 1 MEslek Lisesi Mezunu 0 Düz Lise mezunu
colnames(sonuclar)<-c("filename",paste0("Q",1:35))


#sonuclar[1,]
yanitlar=read.table("makinebilgya.csv",header=TRUE) %>%
  select(-S.) %>%
  gather(key=Question,value=TrueAnswer)


ogrenci_bilgisi<-
sonuclar %>%
  select(filename,Q26:Q34) %>%
  gather(key=Qest,value=no,-filename) %>%
  group_by(filename) %>%
  summarise(ogrenci_no=paste(no,collapse="")) %>%
 tbl_df


 sonuclar2<-
     sonuclar %>%
     select(-(Q26:Q34)) %>%
     left_join(.,ogrenci_bilgisi,by="filename") %>%
    tbl_df

sonuclar3<-
  sonuclar2 %>%
  gather(key=Question,value=Answer,-c(filename,Q35,ogrenci_no)) %>%
  left_join(.,yanitlar,by="Question") %>%
  mutate(tf=Answer==TrueAnswer) %>%
  group_by(ogrenci_no,Q35) %>%
  summarise(correct=sum(tf)) %>%
  tbl_df

Doğru Sayısından notu hesaplama

sonuclar3=sonuclar3 %>% mutate(not=correct*4) %>% select(ogrenci_no:correct,not)

Notların grafiksel olarak dahılımı

ggplot(data=sonuclar3,aes(x=ogrenci_no,y=not))+geom_bar(stat="identity",fill="#00FF50") + 
  theme(axis.text.x=element_text(angle=90))

rmarkdown::render(file=file.choose(),output_format="html")