2020-08-14 13:36:36 +02:00

60 lines
3.3 KiB
R

#--------------------------------------- AGREGAT SUMARNIH PREDMETOV -------------------------------------------#
# združevanje meta predmetov fakultete za glasbo na podlagi šifrantx X7 oziroma šifranta meta
# predmetov
# jer se definira fiktivne meta-predmete, ki zdruzujejo obstoječe predmete; nakar meta predmet
# nastopi v analizah, npr. Violina 1, Violina 2, Violina 3, vse to se združiv v meta predmete Violina.
# Pri tem gre za združevanje znotraj enega študijskega leta.
# Šifrant metapredmetov X7
sifrantx7 <- read.csv2("Evalvacija/temp/sifrantx7.csv", sep = ";", header = T, fill = T, stringsAsFactors = FALSE)
colnames(sifrantx7)[5] <- "Novoimepredmeta"
# Preverimo katere meta predmete iz šifranta x1 je potrebno združiti glede na šifrant x7 in to naredimo
library(dplyr)
metaPredmeti <- merge(sifrant,sifrantx7[c("ID_predmeta","Predmet","ID.NOVEGA.PREDMETA","Novoimepredmeta")],
by.x ="IDP", by.y= "ID_predmeta", all=F, sort=F ) %>%
mutate(PREDMET = ifelse(PREDMET==Predmet, Novoimepredmeta, PREDMET))
# Različnim predmetom dodelimo skupne lastnosti zato, da ne pride do podvajanja (redni način študija, prva stopnja, itd)
metaPredmeti[c("NACIN_STUDIJA","SEMESTER_IZV","STOPNJA","NOSILEC")] <- 1
skpnoStStudentov <- aggregate(metaPredmeti[c("ST_STUD")], by = metaPredmeti["PREDMET"], FUN = sum, na.rm = TRUE)
metaPredmeti$ST_STUD <- ifelse(metaPredmeti$PREDMET == skpnoStStudentov$PREDMET, skpnoStStudentov$ST_STUD, rev(skpnoStStudentov$ST_STUD))
# Preverimo, katere predmeti so združeni ter jih ustrezno nadomestimu v šifrantu x1: nadomestimo ime predmeta in šifro predmeta
# Ime predmeta
indices <- which(sifrant$PREDMET %in% metaPredmeti$Predmet)
sifrant$PREDMET[indices] <- metaPredmeti$Novoimepredmeta
# Šifra predmeta
indicesIDP <- which(sifrant$IDP %in% metaPredmeti$IDP)
sifrant$IDP[indicesIDP] <- metaPredmeti$ID.NOVEGA.PREDMETA
# Vsem predmetom, ki jih bomo združili v nov predmet dodelimo skupne lastnosti
sifrant$NACIN_STUDIJA[indicesIDP] <- 1 # redni študij
sifrant$SEMESTER_IZV[indicesIDP] <- 1 # prvi semester
sifrant$STOPNJA[indicesIDP] <- 1 # dodiplomski
sifrant$NOSILEC[indicesIDP] <- 1 # nosilec
sifrant$ST_STUD[indicesIDP] <- metaPredmeti$ST_STUD
sifrant <- sifrant[!duplicated(sifrant[c("IDP","IDPEDAGOGA","ST_STUD")]),]
# Podatke združimo in preimenujemo še v bazi 1KA: poenotimo ime predmetov in njihovo šifro v meta predmet
# ANKETA PRED IZPITOM #
library(plyr)
metaPredmet.pred <- full_join(data_pred_izpitom, metaPredmeti, by = c("predmet" = "Predmet"))
data_pred_izpitom$predmet <- ifelse(metaPredmet.pred$sifpredm %in% metaPredmet.pred$IDP, metaPredmet.pred$Novoimepredmeta, metaPredmet.pred$predmet)
data_pred_izpitom$sifpredm <- ifelse(metaPredmet.pred$sifpredm %in% metaPredmet.pred$IDP, metaPredmet.pred$ID.NOVEGA.PREDMETA, metaPredmet.pred$sifpredm)
# ANKETA PO IZPITU #
metaPredmet.po <- full_join(data_po_izpitu, metaPredmeti, by = c("predmet" = "Predmet"))
data_po_izpitu$predmet <- ifelse(metaPredmet.po$sifpredm %in% metaPredmet.po$IDP, metaPredmet.po$Novoimepredmeta, metaPredmet.po$predmet)
data_po_izpitu$sifpredm <- ifelse(metaPredmet.po$sifpredm %in% metaPredmet.po$IDP, metaPredmet.po$ID.NOVEGA.PREDMETA, metaPredmet.po$sifpredm)
#--------------------------------------- //AGREGAT SUMARNIH PREDMETOV// -------------------------------------------#