# Del, ki ga potrebuje Peter, da generira ustrezno poročilo za posamezno fakulteto na strežniku # Tega ne poganjamo # params <- commandArgs(trailingOnly=TRUE) # ID <- params[1] # #sesionID <- params[2] #Dodajanje števil na koncu pdf/tex datotek za Petra # # //1KA strežnik// # # # # run first # source("Evalvacija/R/koda.r") sortByAverage <- TRUE # if true sort variable values and rownames in tables by average, else by lecturer's name sortbykrediti<-TRUE # if true sort values in tables by values of komponent Ustreznost KT (izbor.predmeti.po.redni.krediti, izbor.predmeti.po.izredni.krediti) # which lecturers and courses should be included (all from predmeti.izbor and those from izvajalci.izbor that are also in predmeti.izbor) predmeti.izbor <- povprecja.predmeti$predmet.sifra izvajalci.izbor <- unique(povprecja.izvajalci$izvajalec.sifra) # making latex file izbor.tex <- NULL # Uporabimo na koncu poročila za zapis tex vrednosti ## lecturer total averages ## izbor.izvajalci <- subset(povprecja.izvajalci, predmet.sifra %in% predmeti.izbor & izvajalec.sifra %in% izvajalci.izbor) izbor.izvajalci <- izbor.izvajalci[!is.na(izbor.izvajalci$predmet.sifra),] izbor.izvajalci <- izbor.izvajalci[!is.na(izbor.izvajalci$NAZIV.PEDAGOGA),] if (nrow(izbor.izvajalci) > 0) { # Tabelo naredi samo, če obstajajo vrednosti za izvajalca # Vrednosti komponent izvajalcev agregiramo glede na šifro izvajalca in ime izvajalca in izračunamo povprečje izbor.izvajalci.skupaj <- aggregate(izbor.izvajalci[c(paste0(vars.izvajalec$cont$vars,"_mean"),"izvajalec.ocena.SKUPAJ")], by=izbor.izvajalci[c("izvajalec.sifra", "NAZIV.PEDAGOGA")], FUN=mean, na.rm=TRUE) st.predmetov <- aggregate(izbor.izvajalci$N_anket >= minEnot, by=izbor.izvajalci["izvajalec.sifra"], FUN=sum, na.rm=TRUE) # how many courses each lecturer has with enough answers # Združimo število predmetov s povprečji komponent glede na šifro izvajalca izbor.izvajalci.skupaj <- merge(st.predmetov, izbor.izvajalci.skupaj, by="izvajalec.sifra", all=TRUE, sort=FALSE) if (sortByAverage) {# if true sort variable values and rownames in tables by average, else by name rownames(izbor.izvajalci.skupaj) <- formatProgImena(izbor.izvajalci.skupaj$NAZIV.PEDAGOGA, izbor.izvajalci.skupaj$izvajalec.ocena.SKUPAJ) izbor.izvajalci.skupaj <- izbor.izvajalci.skupaj[order(izbor.izvajalci.skupaj$izvajalec.ocena.SKUPAJ, decreasing=TRUE), !(colnames(izbor.izvajalci.skupaj) %in% c("izvajalec.sifra", "NAZIV.PEDAGOGA"))] # sort and drop unneeded columns } else { # sort by name rownames(izbor.izvajalci.skupaj) <- izbor.izvajalci.skupaj$NAZIV.PEDAGOGA izbor.izvajalci.skupaj <- izbor.izvajalci.skupaj[order(as.character(sapply(rownames(izbor.izvajalci.skupaj), titula.rm)), decreasing=FALSE), !(colnames(izbor.izvajalci.skupaj) %in% c("izvajalec.sifra", "NAZIV.PEDAGOGA"))] # sort and drop unneeded columns } # Zružimo povprečne ocene posameznih komponent vseh izvajalcev z SKUPNIM povprečjem vseh komponent (colmeans) izbor.izvajalci.skupaj <- rbind(izbor.izvajalci.skupaj, c(colMeans(izbor.izvajalci.skupaj[1:ncol(izbor.izvajalci.skupaj)], na.rm=TRUE))) # Obarvanje mejnih vrednosti (formatNA) izbor.izvajalci.skupaj <- formatNA(izbor.izvajalci.skupaj, decimalke=c(0,as.numeric(vars.izvajalec$cont$decimalke),decimalkeIzvSkupaj), pobarvanka=c("NE",as.character(vars.izvajalec$cont$pobarvanka),pobarvankaIzvSkupaj), na.repl=".") # (-1 zato, ker na koncu dodamo še vrstico Povprečje fakultete in te ne štejemo zraven ) vsota_vseh.izvajalcev <- sum(izbor.izvajalci.skupaj$izvajalec.ocena.SKUPAJ != ".") - 1 # Število vseh izvajalcev fakultete # Imena dodatne vrstice, ki jo dodamo na konec tabele (boldana vrstca z imenom Povprečje FDV), ki vsebuje skupno povprečje komponent izvajalcev fakultete rownames(izbor.izvajalci.skupaj)[nrow(izbor.izvajalci.skupaj)] <- c(paste0("\\hline \\textbf{Povprečje ", fakulteta," (",vsota_vseh.izvajalcev," izvajalcev)}")) # Imena stolpcev v tebelah + rotiranje imen v tabelah za 90 stopinj (latex.rotate) colnames(izbor.izvajalci.skupaj) <- latex.rotate(c("Št. predmetov", Hmisc::latexTranslate(as.character(vars.izvajalec$cont$ime.kratko)),"\\textbf{Skupaj}")) # Generiranje LATEX tabel (capture.output(Hmisc::latex) izbor.izvajalci.skupaj.tex <- capture.output(Hmisc::latex(izbor.izvajalci.skupaj, # data frame caption="Povprečja \\textbf{izvajalcev}, sortirana po \\textbf{Skupaj}", # naslov tabele rowlabel="", file="", where="H", rowlabel.just="A{12cm}", # širina vrstic tabele multicol=FALSE, longtable=TRUE, # splits a long table across pages lines.page=1000, # table will be 1000 line long per page insert.bottom=paste("{\\footnotesize \\textit{- Podatek je manj pomemben ali težko izračunljiv.}}"), col.just=c("c|",rep_len("c", length(vars.izvajalec$cont$vars)),"|c"))) # Stolpci ## /lecturer total averages/ ## ####################################### #IZPIS POVPREČIJ ZA ŠTUDIJSKE PROGRAME# ####################################### #IZPIS ZA IPP (izvajalci pri predmetih)# #Število izvajalcev # Preverimo če obstajajo vreednosti za izvajalce, saj nam drugače javi error pri generiranju tabel sortByAverage1 <- FALSE # If false values in table will be sorted by programe names proggIZ.tmp <- povprecja.izvajalci.programi[povprecja.izvajalci.programi$N_anket >=minEnot, c("predmet.sifra","program.studentov","program.studentov.ime")] # Pred generiranjem tabel preverimo če obstajajo podatki oziroma ocene if (nrow(proggIZ.tmp) > 0) { # V primeru da so ocene za izvajalce po študijskih programih proggIZ.tmp <- aggregate(proggIZ.tmp$predmet.sifra, by=proggIZ.tmp[c("program.studentov","program.studentov.ime")], function(x) length(x)) rownames(proggIZ.tmp) <- proggIZ.tmp[rownames(proggIZ.tmp),"program.studentov.ime"] } else {proggIZ.tmp <- proggIZ.tmp} povprecja.izvajalci.programi1 <- povprecja.izvajalci.programi[povprecja.izvajalci.programi$"N_anket" >= minEnot,] if (nrow(povprecja.izvajalci.programi1) > 0) { progMeanIzv.fakulteta <- aggregate(povprecja.izvajalci.programi1[paste0(vars.izvajalec$cont$vars,"_mean")], by=povprecja.izvajalci.programi1[c("program.studentov")], FUN=mean, na.rm=TRUE) progMeanIzv.fakulteta.tmp <- cbind(progMeanIzv.fakulteta, izvajalec.ocena.SKUPAJ=rowMeans(progMeanIzv.fakulteta [paste0(vars.izvajalec$cont$vars,"_mean")], na.rm=TRUE)) progMeanIzv.fakulteta.tmp <- merge(progMeanIzv.fakulteta.tmp,stopnja_program[c("program.studentov","program.studentov.ime")], by="program.studentov", sort=FALSE) } else {progMeanIzv.fakulteta <- povprecja.izvajalci.programi1 progMeanIzv.fakulteta.tmp <- povprecja.izvajalci.programi1} if (nrow(progMeanIzv.fak1) > 0) { progMeanIzv.fak.skupaj <- merge(proggIZ.tmp,progMeanIzv.fakulteta.tmp, by=c("program.studentov", "program.studentov.ime"), all=TRUE, sort=FALSE) } ## //Pred generiranjem tabel preverimo če obstajajo podatki oziroma ocene// ## # Začnemo s sestavljanjem vrednosti za generiranje tabel if (nrow(progMeanIzv.fak.skupaj) > 0) { if (any(duplicated(progMeanIzv.fak.skupaj))) { progMeanIzv.fak.skupaj <- progMeanIzv.fak.skupaj[!duplicated(progMeanIzv.fak.skupaj$program.studentov), ] } if (sortByAverage1) { # If false values in table will be sorted by programe names rownames(progMeanIzv.fak.skupaj) <- formatProgImena(progMeanIzv.fak.skupaj$program.studentov.ime, progMeanIzv.fak.skupaj$izvajalec.ocena.SKUPAJ) progMeanIzv.fak.skupaj <- progMeanIzv.fak.skupaj[order(progMeanIzv.fak.skupaj$izvajalec.ocena.SKUPAJ, decreasing=TRUE), !(colnames(progMeanIzv.fak.skupaj) %in% c("program.studentov", "program.studentov.ime"))] # sort and drop unneeded columns } else { # sort by name rownames(progMeanIzv.fak.skupaj) <- progMeanIzv.fak.skupaj$program.studentov.ime progMeanIzv.fak.skupaj <- progMeanIzv.fak.skupaj[order(as.character(sapply(rownames(progMeanIzv.fak.skupaj), titula.rm)), decreasing=FALSE), !(colnames(progMeanIzv.fak.skupaj) %in% c("program.studentov", "program.studentov.ime"))] # sort and drop unneeded columns } progMeanIzv.fak.skupaj <- rbind(progMeanIzv.fak.skupaj, c("-", colMeans(progMeanIzv.fak.skupaj[2:ncol(progMeanIzv.fak.skupaj)], na.rm=TRUE))) progMeanIzv.fak.skupaj <- formatNA(progMeanIzv.fak.skupaj, decimalke=c(0,as.numeric(vars.izvajalec$cont$decimalke),decimalkeIzvSkupaj), pobarvanka=c("NE", as.character(vars.izvajalec$cont$pobarvanka),pobarvankaIzvSkupaj), na.repl=".") # Na koncu tabele dodamo boldano vrstico Povprečje programov, ki bo vsebovala povprečja komponent za celotno fakulteto rownames(progMeanIzv.fak.skupaj )[nrow(progMeanIzv.fak.skupaj)] <- "\\hline \\textbf{Povprečje programov}" # Poimenujemo stolpce in imena stolpcev rotiramo za 90 stopinj (latex.rotate) colnames(progMeanIzv.fak.skupaj ) <- latex.rotate(c("Št. IPP**", Hmisc::latexTranslate(as.character(vars.izvajalec$cont$ime.kratko)), "\\textbf{Skupaj}")) progMeanIzv.fak.skupaj.tex <- capture.output(Hmisc::latex(progMeanIzv.fak.skupaj, caption="Povprečja \\textbf{izvajalcev} po študijskih programih, sortirana po abecedi", rowlabel="", file="", where="H", rowlabel.just="A{12cm}", multicol=FALSE, longtable=TRUE, lines.page=1000, insert.bottom=paste("{\\footnotesize \\textit{- Podatek je manj pomemben ali težko izračunljiv. \\newline ** »Št. IPP« - število vseh izvajalcev pri predmetih na določenem programu.}}"), col.just=c("c|",rep_len("c", length(vars.izvajalec$cont$vars)),"|c"))) } ## //IZPIS POVPREČIJ ZA PROGRAME// ## ## lecturer course averages ## # (Izvajalci pri predmetih) # Imena vrstic latex tabel: ime izvajalca (ime predmeta) rownames(izbor.izvajalci) <- make.unique(paste0(sapply(povprecja.izvajalci[rownames(izbor.izvajalci),"NAZIV.PEDAGOGA"], titula.rm), " (", povprecja.izvajalci[rownames(izbor.izvajalci),"ime.predmeta"], ")")) #IPP redni študij (NACIN_STUDIJA == "1") izbor.izvajalci.redni <- izbor.izvajalci[izbor.izvajalci$NACIN_STUDIJA == "1", c("ST_STUD","N_anket","sodelujocih.pct", "zavrnjenih.pct","neodzivnih.pct", paste0(vars.izvajalec$cont$vars,"_mean"), "izvajalec.ocena.SKUPAJ")] #IPP izredni študij (NACIN_STUDIJA == "2") izbor.izvajalci.izredni <- izbor.izvajalci[izbor.izvajalci$NACIN_STUDIJA == "2", c("ST_STUD","N_anket","sodelujocih.pct", "zavrnjenih.pct","neodzivnih.pct", paste0(vars.izvajalec$cont$vars,"_mean"), "izvajalec.ocena.SKUPAJ")] # redni študij if (nrow(izbor.izvajalci.redni) > 0) { if (any(is.na(izbor.izvajalci.redni))) {opomba <- c(". Podatek ni prikazan zaradi majhnega števila enot.", "- Podatek je manj pomemben ali težko izračunljiv.") } else {opomba <- "- Podatek je manj pomemben ali težko izračunljiv."} if (sortByAverage) { izbor.izvajalci.redni <- izbor.izvajalci.redni[order(izbor.izvajalci.redni$izvajalec.ocena.SKUPAJ, decreasing=TRUE),] rownames(izbor.izvajalci.redni) <- formatProgImena(rownames(izbor.izvajalci.redni), izbor.izvajalci.redni$izvajalec.ocena.SKUPAJ) } else { # sort by name izbor.izvajalci.redni <- izbor.izvajalci.redni[order(rownames(izbor.izvajalci.redni), decreasing=FALSE),] } # Združimo vrstice: povprečje komponent izvajalcev in skupno povprečje komponent izvajalcev izbor.izvajalci.redni <- rbind(izbor.izvajalci.redni, colMeans(izbor.izvajalci.redni, na.rm=TRUE)) # Obarvanje in zaokroževanje vrednosti # formatNA1 dodajanje enojnih ali dvojnih oklepajev spremenljivkam od 1:5 stolpca izbor.izvajalci.redni1 <- formatNA1(izbor.izvajalci.redni[1:5], decimalke=c(0,0,0,0,0), pobarvanka=c(FDVstopnjaPobarvanka$st.stud,FDVstopnjaPobarvanka$st.stud, FDVstopnjaPobarvanka$sodelu.pct,FDVstopnjaPobarvanka$zavr.pct, FDVstopnjaPobarvanka$zavr.pct), na.repl=".") #na.repl <- NA vrednosti nadomestimo z ločilom # formatNA obarvanje (rdeča ali oranžna barva) komponent oz stolpcev od 6:12 izbor.izvajalci.redni2 <- formatNA(izbor.izvajalci.redni[6:12], decimalke=c(as.numeric(vars.izvajalec$cont$decimalke),decimalkeIzvSkupaj), pobarvanka=c(as.character(vars.izvajalec$cont$pobarvanka),pobarvankaIzvSkupaj), na.repl=".") # Združimo vrednosti (obarvanja in oklepaje) izbor.izvajalci.redni <- cbind(izbor.izvajalci.redni1,izbor.izvajalci.redni2) # Število vseh IPP fakultete 1-, saj na koncu dodamo še vrstico Povprečje FDV, ki je ne štejemo k številu vseh IPP vsota_IPP <- sum(izbor.izvajalci.redni$izvajalec.ocena.SKUPAJ != ".") - 1 # Dodamo vrstico z imenom Povprečje FDV rownames(izbor.izvajalci.redni)[nrow(izbor.izvajalci.redni)] <- c(paste0("\\hline \\textbf{Povprečje ", fakulteta," (",vsota_IPP," IPP)}")) # Poimenujemo stolpce in jih rotiramo za 90 stopinj colnames(izbor.izvajalci.redni) <- latex.rotate(c("Št. vpisanih", "Št. odgovorov", "\\% odgovorov", "\\% zavrnitev", "\\% nesodelujočih", Hmisc::latexTranslate(as.character(vars.izvajalec$cont$ime.kratko)), "\\textbf{Skupaj}")) # Generiranje Latex tabele izbor.izvajalci.redni.tex <- c(capture.output(Hmisc::latex(izbor.izvajalci.redni, caption="Povprečja \\textbf{izvajalcev pri predmetih} (anketa PRED izpitom), sortirana po \\textbf{Skupaj}", rowlabel="", file="", where="H", multicol=FALSE, longtable=TRUE, lines.page=1000, col.just=c("c","c|","c","c","c|",rep_len("c", length(vars.izvajalec$cont$vars)),"|c"), rowlabel.just="A{7.5cm}", insert.bottom=paste0("{\\footnotesize \\textit{", opomba, "}}")))) } else { izbor.izvajalci.redni.tex <- "Ni ocen." } ## izvajalci: izredni študij ## if (nrow(izbor.izvajalci.izredni) > 0) { if (any(is.na(izbor.izvajalci.izredni))) {opombaIzvIzredni <- c(". Podatek ni prikazan zaradi majhnega števila enot.", "- Podatek je manj pomemben ali težko izračunljiv.") } else {opombaIzvIzredni <- "- Podatek je manj pomemben ali težko izračunljiv."} if (sortByAverage) { izbor.izvajalci.izredni <- izbor.izvajalci.izredni[order(izbor.izvajalci.izredni$izvajalec.ocena.SKUPAJ, decreasing=TRUE),] rownames(izbor.izvajalci.izredni) <- formatProgImena(rownames(izbor.izvajalci.izredni), izbor.izvajalci.izredni$izvajalec.ocena.SKUPAJ) } else { # sort by name izbor.izvajalci.izredni <- izbor.izvajalci.izredni[order(rownames(izbor.izvajalci.izredni), decreasing=FALSE),] } izbor.izvajalci.izredni <- rbind(izbor.izvajalci.izredni, colMeans(izbor.izvajalci.izredni, na.rm=TRUE)) izbor.izvajalci.izredni1 <- formatNA1(izbor.izvajalci.izredni[1:5], decimalke=c(0,0,0,0,0), pobarvanka=c(FDVstopnjaPobarvanka$st.stud,FDVstopnjaPobarvanka$st.stud, FDVstopnjaPobarvanka$sodelu.pct,FDVstopnjaPobarvanka$zavr.pct, FDVstopnjaPobarvanka$zavr.pct), na.repl=".") izbor.izvajalci.izredni2 <- formatNA(izbor.izvajalci.izredni[6:12], decimalke=c(as.numeric(vars.izvajalec$cont$decimalke),decimalkeIzvSkupaj), pobarvanka=c(as.character(vars.izvajalec$cont$pobarvanka),pobarvankaIzvSkupaj), na.repl=".") izbor.izvajalci.izredni <- cbind(izbor.izvajalci.izredni1,izbor.izvajalci.izredni2) # Število vseh IPP fakultete vsota_IPP.izredni <- sum(izbor.izvajalci.izredni$izvajalec.ocena.SKUPAJ != ".") - 1 rownames(izbor.izvajalci.izredni)[nrow(izbor.izvajalci.izredni)] <- c(paste0("\\hline \\textbf{Povprečje ", fakulteta," (",vsota_IPP.izredni," IPP)}")) colnames(izbor.izvajalci.izredni) <- latex.rotate(c("Št. vpisanih", "Št. odgovorov", "\\% odgovorov", "\\% zavrnitev", "\\% nesodelujočih", Hmisc::latexTranslate(as.character(vars.izvajalec$cont$ime.kratko)), "\\textbf{Skupaj}")) izbor.izvajalci.izredni.tex <- c(capture.output(Hmisc::latex(izbor.izvajalci.izredni, caption="Povprečja \\textbf{izvajalcev pri predmetih} (anketa PRED izpitom), sortirana po \\textbf{Skupaj}", rowlabel="", file="", where="H", multicol=FALSE, longtable=TRUE, lines.page=1000, col.just=c("c","c|","c","c","c|",rep_len("c", length(vars.izvajalec$cont$vars)),"|c"), rowlabel.just="A{7.5cm}", insert.bottom=paste0("{\\footnotesize \\textit{", opombaIzvIzredni, "}}")))) } else { izbor.izvajalci.izredni.tex <- "Ni ocen." } } else { izbor.izvajalci.skupaj.tex <- "Ni ocen." izbor.izvajalci.redni.tex <- "Ni ocen." izbor.izvajalci.izredni.tex <- "Ni ocen." } ## /lecturer course averages/ ## ####################### ## course averages ## ####################### izbor.predmeti <- subset(povprecja.predmeti, predmet.sifra %in% predmeti.izbor) # Izberemo predmete, ki so imeli dovolj enot if (nrow(izbor.predmeti) > 0) { povprecja.predmeti <- povprecja.predmeti[!(is.na(povprecja.predmeti$ime.predmeta)), ] rownames(izbor.predmeti) <- make.unique(povprecja.predmeti[rownames(izbor.predmeti), "ime.predmeta"]) # Ločimo povprečje komponent predmetov PRED in PO izpitu na REDNI in IZREDNi ŠTUDIJ, na podalgi katerih nato delamo LATEX tabele izbor.predmeti.pred.redni <- izbor.predmeti[izbor.predmeti$NACIN_STUDIJA=="1",c("ST_STUD","N_anket","sodelujocih.pct", "zavrnjenih.pct","neodzivnih.pct", paste0(vars.predmet$cont$pred,"_mean"), "predmet.ocena.SKUPAJ.pred")] izbor.predmeti.pred.izredni <- izbor.predmeti[izbor.predmeti$NACIN_STUDIJA=="2", c("ST_STUD","N_anket","sodelujocih.pct", "zavrnjenih.pct","neodzivnih.pct", paste0(vars.predmet$cont$pred,"_mean"), "predmet.ocena.SKUPAJ.pred")] izbor.predmeti.po.redni <- izbor.predmeti[izbor.predmeti$NACIN_STUDIJA=="1", c("ST_STUD","N_anket_po_izpitu","sodelujocih.pct_po_izpitu", "zavrnjenih.pct_po_izpitu","neodzivnih.pct_po_izpitu", paste0(vars.predmet$cont$po,"_mean"), "predmet.ocena.SKUPAJ.po","predmet.ocena.krediti_mean")] izbor.predmeti.po.izredni <- izbor.predmeti[izbor.predmeti$NACIN_STUDIJA=="2", c("ST_STUD","N_anket_po_izpitu","sodelujocih.pct_po_izpitu", "zavrnjenih.pct_po_izpitu","neodzivnih.pct_po_izpitu", paste0(vars.predmet$cont$po,"_mean"), "predmet.ocena.SKUPAJ.po","predmet.ocena.krediti_mean")] # Oblikovanje podatkov in generiranje Latex tabele za anketno PRED izpitom: REDNI ŠTUDIJ if (nrow(izbor.predmeti.pred.redni) > 0) { # PRED - redni if (any(is.na(izbor.predmeti.pred.redni))) {opomba <- c(". Podatek ni prikazan zaradi majhnega števila enot.","- Podatek je manj pomemben ali težko izračunljiv.") } else {opomba <- "- Podatek je manj pomemben ali težko izračunljiv."} if (sortByAverage) { izbor.predmeti.pred.redni <- izbor.predmeti.pred.redni[order(izbor.predmeti.pred.redni$predmet.ocena.SKUPAJ.pred, izbor.predmeti.pred.redni$N_anket, decreasing=TRUE),] rownames(izbor.predmeti.pred.redni) <- formatProgImena(rownames(izbor.predmeti.pred.redni), izbor.predmeti.pred.redni$predmet.ocena.SKUPAJ.pred) } else { # sort by name izbor.predmeti.pred.redni <- izbor.predmeti.pred.redni[order(rownames(izbor.predmeti.pred.redni), decreasing=FALSE),] } izbor.predmeti.pred.redni <- rbind(izbor.predmeti.pred.redni, colMeans(izbor.predmeti.pred.redni, na.rm=TRUE)) #Sivo barvanje izbor.predmeti.pred.redni1 <- formatNA1(izbor.predmeti.pred.redni[1:5], decimalke=c(0,0,0,0,0), pobarvanka=c(FDVstopnjaPobarvanka$st.stud,FDVstopnjaPobarvanka$n.anket, FDVstopnjaPobarvanka$sodelu.pct,FDVstopnjaPobarvanka$zavr.pct, FDVstopnjaPobarvanka$zavr.pct), na.repl=".") #stolpcem 1:5 dodamo sivo barvanje izbor.predmeti.pred.redni2 <- formatNA(izbor.predmeti.pred.redni[6:13], decimalke=c(as.numeric(vars.predmet$cont$decimalke[vars.predmet$cont$pred]),decimalkePredmSkupaj), pobarvanka=c(vars.predmet$cont$pobarvanka[vars.predmet$cont$pred], povprecje.ocen.SKUPAJ.pred=pobarvankaPredmSkupaj), na.repl=".") # preostale vrednosti obarvamo izbor.predmeti.pred.redni <- cbind(izbor.predmeti.pred.redni1,izbor.predmeti.pred.redni2) #združimo # Število vseh predmetov rednega študija. Insert v tabelo vsota_predmetov <- sum(izbor.predmeti.pred.redni$predmet.ocena.SKUPAJ.pred != ".")-1 # Imena vrstic tabele rownames(izbor.predmeti.pred.redni)[nrow(izbor.predmeti.pred.redni)] <- c(paste0("\\hline \\textbf{Povprečje fakultete (",vsota_predmetov, " predmetov)}")) # Imena stolpcev tabele colnames(izbor.predmeti.pred.redni) <- latex.rotate(c("Št. vpisanih", "Št. odgovorov", "\\% odgovorov", "\\% zavrnitev", "\\% nesodelujočih", Hmisc::latexTranslate(as.character(vars.predmet$cont$ime.kratko[vars.predmet$cont$pred])), "\\textbf{Skupaj}")) # Latex tabela izbor.predmeti.pred.redni.tex <- c(capture.output(Hmisc::latex(izbor.predmeti.pred.redni, caption="Povprečja \\textbf{predmetov} (anketa PRED izpitom), sortirana po \\textbf{Skupaj}", rowlabel="", file="", where="H", multicol=FALSE, longtable=TRUE, lines.page=1000, col.just=c("c","c|","c","c","c|",rep_len("c", length(vars.predmet$cont$pred)),"|c"), rowlabel.just="A{6.5cm}", insert.bottom=paste0("{\\footnotesize \\textit{", opomba, "}}")))) } else { izbor.predmeti.pred.redni.tex <- "Ni ocen." } # Oblikovanje podatkov in generiranje Latex tabele za anketno PRED izpitom: IZREDNI ŠTUDIJ if (nrow(izbor.predmeti.pred.izredni) > 0) { # PRED - izredni if (any(is.na(izbor.predmeti.pred.izredni))) {opomba <- c(". Podatek ni prikazan zaradi majhnega števila enot.", "- Podatek je manj pomemben ali težko izračunljiv.") } else {opomba <- "- Podatek je manj pomemben ali težko izračunljiv."} if (sortByAverage) { izbor.predmeti.pred.izredni <- izbor.predmeti.pred.izredni[order(izbor.predmeti.pred.izredni$predmet.ocena.SKUPAJ.pred, izbor.predmeti.pred.izredni$N_anket, decreasing=TRUE),] rownames(izbor.predmeti.pred.izredni) <- formatProgImena(rownames(izbor.predmeti.pred.izredni), izbor.predmeti.pred.izredni$predmet.ocena.SKUPAJ.pred) } else { # sort by name izbor.predmeti.pred.izredni <- izbor.predmeti.pred.izredni[order(rownames(izbor.predmeti.pred.izredni), decreasing=FALSE),] } izbor.predmeti.pred.izredni <- rbind(izbor.predmeti.pred.izredni, colMeans(izbor.predmeti.pred.izredni, na.rm=TRUE)) izbor.predmeti.pred.izredni1 <- formatNA1(izbor.predmeti.pred.izredni[1:5], decimalke=c(0,0,0,0,0), pobarvanka=c(FDVstopnjaPobarvanka$st.stud,FDVstopnjaPobarvanka$n.anket, FDVstopnjaPobarvanka$sodelu.pct,FDVstopnjaPobarvanka$zavr.pct, FDVstopnjaPobarvanka$zavr.pct), na.repl=".") #stolpcem 1:5 dodamo sivo barvanje izbor.predmeti.pred.izredni2 <- formatNA(izbor.predmeti.pred.izredni[6:13], decimalke=c(as.numeric(vars.predmet$cont$decimalke[vars.predmet$cont$pred]),decimalkePredmSkupaj), pobarvanka=c(vars.predmet$cont$pobarvanka[vars.predmet$cont$pred], povprecje.ocen.SKUPAJ.pred=pobarvankaPredmSkupaj), na.repl=".") # preostale vrednosti obarvamo izbor.predmeti.pred.izredni <- cbind(izbor.predmeti.pred.izredni1,izbor.predmeti.pred.izredni2) #združimo # Število predmetov izrednega študija vsota_izredni <- sum(izbor.predmeti.pred.izredni$predmet.ocena.SKUPAJ.pred != ".") - 1 # Imena vrstic v tabelah rownames(izbor.predmeti.pred.izredni)[nrow(izbor.predmeti.pred.izredni)] <- c(paste0("\\hline \\textbf{Povprečje fakultete (",vsota_izredni, " predmetov)}")) # Imena stolpcev v tabelah colnames(izbor.predmeti.pred.izredni) <- latex.rotate(c("Št. vpisanih", "Št. odgovorov", "\\% odgovorov", "\\% zavrnitev", "\\% nesodelujočih", Hmisc::latexTranslate(as.character(vars.predmet$cont$ime.kratko[vars.predmet$cont$pred])), "\\textbf{Skupaj}")) #Generiranje Latex tabele izbor.predmeti.pred.izredni.tex <- c(capture.output(Hmisc::latex(izbor.predmeti.pred.izredni, caption="Povprečja \\textbf{predmetov} (anketa PRED izpitom), sortirana po \\textbf{Skupaj}", rowlabel="", file="", where="H", multicol=FALSE, longtable=TRUE, lines.page=1000, col.just=c("c","c|","c","c","c|",rep_len("c", length(vars.predmet$cont$pred)),"|c"), rowlabel.just="A{6.5cm}", insert.bottom=paste0("{\\footnotesize \\textit{", opomba, "}}")))) } else { izbor.predmeti.pred.izredni.tex <- "Ni ocen." } # REDNI ŠTUDIJ if (nrow(izbor.predmeti.po.redni) > 0) { # PO - redni if (any(is.na(izbor.predmeti.po.redni))) {opomba <- c(". Podatek ni prikazan zaradi majhnega števila enot.", "- Podatek je manj pomemben ali težko izračunljiv.", "* {\\color{Orange}\\textbf{Oranžno}} so označena odstopanja ({\\color{Orange}\\textbf{2.4-2.6}}) in ({\\color{Orange}\\textbf{3.4-3.6}}), {\\color{BrickRed}\\textbf{rdeče}} pa odstopanja (pod {\\color{BrickRed}\\textbf{2.4}}) in (nad {\\color{BrickRed}\\textbf{3.6}}).") } else {opomba <- "- Podatek je manj pomemben ali težko izračunljiv. \\newline * {\\color{Orange}\\textbf{Oranžno}} so označena odstopanja ({\\color{Orange}\\textbf{2.4-2.6}}) in ({\\color{Orange}\\textbf{3.4-3.6}}), {\\color{BrickRed}\\textbf{rdeče}} pa odstopanja (pod {\\color{BrickRed}\\textbf{2.4}}) in (nad {\\color{BrickRed}\\textbf{3.6}})."} if (sortByAverage) { izbor.predmeti.po.redni <- izbor.predmeti.po.redni[order(izbor.predmeti.po.redni$predmet.ocena.SKUPAJ.po, izbor.predmeti.po.redni$N_anket_po_izpitu, decreasing=TRUE),] rownames(izbor.predmeti.po.redni) <- formatProgImena(rownames(izbor.predmeti.po.redni), izbor.predmeti.po.redni$predmet.ocena.SKUPAJ.po) } else { # sort by name izbor.predmeti.po.redni <- izbor.predmeti.po.redni[order(rownames(izbor.predmeti.po.redni), decreasing=FALSE),] } izbor.predmeti.po.redni <- rbind(izbor.predmeti.po.redni, colMeans(izbor.predmeti.po.redni, na.rm=TRUE)) izbor.predmeti.po.redni1 <- formatNA1(izbor.predmeti.po.redni[1:5], decimalke=c(0,0,0,0,0), pobarvanka=c(FDVstopnjaPobarvanka$st.stud,FDVstopnjaPobarvanka$n.anket, FDVstopnjaPobarvanka$sodelu.pct,FDVstopnjaPobarvanka$zavr.pct, FDVstopnjaPobarvanka$zavr.pct), na.repl=".") #stolpcem 1:5 dodamo sivo barvanje izbor.predmeti.po.redni2 <- formatNA(izbor.predmeti.po.redni[6:11], decimalke=c(as.numeric(vars.predmet$cont$decimalke[vars.predmet$cont$po]), decimalkePredmSkupaj,as.numeric(vars.predmet$krediti$decimalke)), pobarvanka=c(vars.predmet$cont$pobarvanka[vars.predmet$cont$po], povprecje.ocen.po=pobarvankaPredmSkupaj,vars.predmet$krediti$pobarvanka), na.repl=".") # preostale vrednosti obarvamo izbor.predmeti.po.redni <- cbind(izbor.predmeti.po.redni1,izbor.predmeti.po.redni2) # združimo vsota_predmeti.po <- sum(izbor.predmeti.po.redni$predmet.ocena.SKUPAJ.po != ".") - 1 rownames(izbor.predmeti.po.redni)[nrow(izbor.predmeti.po.redni)] <- c(paste0("\\hline \\textbf{Povprečje fakultete (",vsota_predmeti.po, " predmetov)}")) colnames(izbor.predmeti.po.redni) <- latex.rotate(c("Št. vpisanih", "Št. odgovorov", "\\% odgovorov", "\\% zavrnitev", "\\% nesodelujočih", Hmisc::latexTranslate(as.character(vars.predmet$cont$ime.kratko[vars.predmet$cont$po])), "\\textbf{Skupaj}", as.character(vars.predmet$krediti$ime.kratko))) # Ker želimo da sta v tabelah komponenti UTREZNOST KT in KOMPETENCE prikazani na koncu pred generiranjem tabel spremenimo vrstni red izbor.predmeti.po.redni <- izbor.predmeti.po.redni[c(1,2,3,4,5,7,8,9,10,6,11)] # Generiranje LATEX TABELE izbor.predmeti.po.redni.tex <- c(capture.output(Hmisc::latex(izbor.predmeti.po.redni, caption="Povprečja \\textbf{predmetov} (anketa PO izpitu), sortirana po \\textbf{Skupaj}", rowlabel="", file="", where="H", multicol=FALSE, longtable=TRUE, lines.page=1000, col.just=c("c","c|","c","c","c|",rep_len("c", length(vars.predmet$cont$po[-1])),"|c","|c","c"), rowlabel.just="A{8cm}", insert.bottom=paste0("{\\footnotesize \\textit{", opomba, "}}")))) } else { izbor.predmeti.po.redni.tex <- "Ni ocen." } # IZREDNI ŠTUDIJ if (nrow(izbor.predmeti.po.izredni) > 0) { # PO - izredni if (any(is.na(izbor.predmeti.po.izredni))) {opomba <- c(". Podatek ni prikazan zaradi majhnega števila enot.", "- Podatek je manj pomemben ali težko izračunljiv.", "* {\\color{Orange}\\textbf{Oranžno}} so označena odstopanja ({\\color{Orange}\\textbf{2.4-2.6}}) in ({\\color{Orange}\\textbf{3.4-3.6}}), {\\color{BrickRed}\\textbf{rdeče}} pa odstopanja (pod {\\color{BrickRed}\\textbf{2.4}}) in (nad {\\color{BrickRed}\\textbf{3.6}}).") } else {opomba <- "- Podatek je manj pomemben ali težko izračunljiv. \\newline * {\\color{Orange}\\textbf{Oranžno}} so označena odstopanja ({\\color{Orange}\\textbf{2.4-2.6}}) in ({\\color{Orange}\\textbf{3.4-3.6}}), {\\color{BrickRed}\\textbf{rdeče}} pa odstopanja (pod {\\color{BrickRed}\\textbf{2.4}}) in (nad {\\color{BrickRed}\\textbf{3.6}})."} if (sortByAverage) { izbor.predmeti.po.izredni <- izbor.predmeti.po.izredni[order(izbor.predmeti.po.izredni$predmet.ocena.SKUPAJ.po, izbor.predmeti.po.izredni$N_anket_po_izpitu, decreasing=TRUE),] rownames(izbor.predmeti.po.izredni) <- formatProgImena(rownames(izbor.predmeti.po.izredni), izbor.predmeti.po.izredni$predmet.ocena.SKUPAJ.po) } else { # sort by name izbor.predmeti.po.izredni <- izbor.predmeti.po.izredni[order(rownames(izbor.predmeti.po.izredni), decreasing=FALSE),] } izbor.predmeti.po.izredni <- rbind(izbor.predmeti.po.izredni, colMeans(izbor.predmeti.po.izredni, na.rm=TRUE)) izbor.predmeti.po.izredni1 <- formatNA1(izbor.predmeti.po.izredni[1:5], decimalke=c(0,0,0,0,0), pobarvanka=c(FDVstopnjaPobarvanka$st.stud,FDVstopnjaPobarvanka$n.anket, FDVstopnjaPobarvanka$sodelu.pct,FDVstopnjaPobarvanka$zavr.pct, FDVstopnjaPobarvanka$zavr.pct), na.repl=".") #stolpcem 1:5 dodamo sivo barvanje izbor.predmeti.po.izredni2 <- formatNA(izbor.predmeti.po.izredni[6:11], decimalke=c(as.numeric(vars.predmet$cont$decimalke[vars.predmet$cont$po]), decimalkePredmSkupaj,as.numeric(vars.predmet$krediti$decimalke)), pobarvanka=c(vars.predmet$cont$pobarvanka[vars.predmet$cont$po], povprecje.ocen.po=pobarvankaPredmSkupaj,vars.predmet$krediti$pobarvanka), na.repl=".") # preostale vrednosti obarvamo izbor.predmeti.po.izredni <- cbind(izbor.predmeti.po.izredni1,izbor.predmeti.po.izredni2) #združimo # Število vshe predmetov v anketi PO vsota_predmeti.po.izr <- sum(izbor.predmeti.po.izredni$predmet.ocena.SKUPAJ.po != ".") - 1 rownames(izbor.predmeti.po.izredni)[nrow(izbor.predmeti.po.izredni)] <- c(paste0("\\hline \\textbf{Povprečje fakultete (",vsota_predmeti.po.izr, " predmetov)}")) colnames(izbor.predmeti.po.izredni) <- latex.rotate(c("Št. vpisanih", "Št. odgovorov", "\\% odgovorov", "\\% zavrnitev", "\\% nesodelujočih", Hmisc::latexTranslate(as.character(vars.predmet$cont$ime.kratko[vars.predmet$cont$po])), "\\textbf{Skupaj}", as.character(vars.predmet$krediti$ime.kratko))) # Uredimo vrstni red, ki ga žeimov v tabeli izbor.predmeti.po.izredni<-izbor.predmeti.po.izredni[c(1,2,3,4,5,7,8,9,10,6,11)] # Latex tabela izbor.predmeti.po.izredni.tex <- c(capture.output(Hmisc::latex(izbor.predmeti.po.izredni, caption="Povprečja \\textbf{predmetov} (anketa PO izpitu), sortirana po \\textbf{Skupaj}", rowlabel="", file="", where="H", multicol=FALSE, longtable=TRUE, lines.page=1000, col.just=c("c","c|","c","c","c|",rep_len("c", length(vars.predmet$cont$po[-1])),"|c","|c","c"), rowlabel.just="A{8.4cm}", insert.bottom=paste0("{\\footnotesize \\textit{", opomba, "}}")))) } else { izbor.predmeti.po.izredni.tex <- NULL } ################# #ŠTUDIJSKA PRAKSA ################# #POROČILO ZA PREDMETE KI VSEBUJEJO PRAKSO izbor.predmeti.praksa <- izbor.predmeti[c("ST_STUD","N_anket_po_izpitu","sodelujocih.pct_po_izpitu", "zavrnjenih.pct_po_izpitu","neodzivnih.pct_po_izpitu", paste0(vars.predmet$cont$praksa,"_mean"),"predmet.ocena.SKUPAJ.praksa", "PRAKSA")] # Zberemo predmete ki imajo študijsko prakso (izbor.predmeti$PRAKSA==1) izbor.predmeti.praksa <- izbor.predmeti[izbor.predmeti$PRAKSA==1 , c("ST_STUD","N_anket_po_izpitu","sodelujocih.pct_po_izpitu", "zavrnjenih.pct_po_izpitu","neodzivnih.pct_po_izpitu", paste0(vars.predmet$cont$praksa,"_mean"),"predmet.ocena.SKUPAJ.praksa")] if (all(!is.na(izbor.predmeti.praksa[1]))) { if (nrow(izbor.predmeti.praksa) > 0) { # PRED - redni if (any(is.na(izbor.predmeti.praksa))) {opomba <- c(". Podatek ni prikazan zaradi majhnega števila enot.", "- Podatek je manj pomemben ali težko izračunljiv.") } else {opomba <- "- Podatek je manj pomemben ali težko izračunljiv."} if (sortByAverage) { izbor.predmeti.praksa <- izbor.predmeti.praksa[order(izbor.predmeti.praksa$predmet.ocena.SKUPAJ.praksa, izbor.predmeti.praksa$N_anket_po_izpitu, decreasing=TRUE),] rownames(izbor.predmeti.praksa) <- make.unique(formatProgImena(rownames(izbor.predmeti.praksa), izbor.predmeti.praksa$predmet.ocena.SKUPAJ.praksa)) } else { # sort by name izbor.predmeti.praksa <- izbor.predmeti.praksa[order(rownames(izbor.predmeti.praksa), decreasing=FALSE),] } izbor.predmeti.praksa <- rbind(izbor.predmeti.praksa, colMeans(izbor.predmeti.praksa[c("ST_STUD","N_anket_po_izpitu","sodelujocih.pct_po_izpitu", "zavrnjenih.pct_po_izpitu","neodzivnih.pct_po_izpitu", paste0(vars.predmet$cont$praksa, "_mean"), "predmet.ocena.SKUPAJ.praksa")], na.rm=TRUE)) izbor.predmeti.praksa1 <- formatNA1(izbor.predmeti.praksa[1:5], decimalke=c(0,0,0,0,0), pobarvanka=c(FDVstopnjaPobarvanka$st.stud,FDVstopnjaPobarvanka$n.anket, FDVstopnjaPobarvanka$sodelu.pct,FDVstopnjaPobarvanka$zavr.pct, FDVstopnjaPobarvanka$zavr.pct), na.repl=".") izbor.predmeti.praksa2 <- formatNA(izbor.predmeti.praksa[6:15], decimalke=c(as.numeric(vars.predmet$cont$decimalke[vars.predmet$cont$praksa]),decimalkePredmSkupaj), pobarvanka=c(vars.predmet$cont$pobarvanka[vars.predmet$cont$praksa], povprecje.ocen.praksa=pobarvankaPredmSkupaj), na.repl=".") izbor.predmeti.praksa<-cbind(izbor.predmeti.praksa1,izbor.predmeti.praksa2) # Število predmetov, ki imajo študijsko prakso vsota_praks <- sum(izbor.predmeti.praksa$predmet.ocena.SKUPAJ.praksa != ".") - 1 rownames(izbor.predmeti.praksa)[nrow(izbor.predmeti.praksa)] <- c(paste0("\\hline \\textbf{Povprečje ", fakulteta," (",vsota_praks," študijskih praks)}")) colnames(izbor.predmeti.praksa) <- latex.rotate(c("Št. vpisanih", "Št. odgovorov", "\\% odgovorov", "\\% zavrnitev", "\\% nesodelujočih", Hmisc::latexTranslate(as.character(vars.predmet$cont$ime.kratko[vars.predmet$cont$praksa])), "\\textbf{Skupaj}")) izbor.predmeti.praksa.tex <- c(capture.output(Hmisc::latex(izbor.predmeti.praksa, caption="Povprečja \\textbf{študijskih praks} (anketa PO izpitu), sortirana po \\textbf{Skupaj}", rowlabel="", file="", where="H", multicol=FALSE, longtable=TRUE, lines.page=1000, col.just=c("c","c|","c","c","c|",rep_len("c", length(vars.predmet$cont$praksa)),"|c"), rowlabel.just="A{6.1cm}", insert.bottom=paste0("{\\footnotesize \\textit{", opomba, "}}")))) } else { izbor.predmeti.praksa.tex <- c("\\newline","\\newline", "Ni ocen za študijsko prakso.") } } else { izbor.predmeti.praksa.tex <- c("\\newline","\\newline", "Ni ocen za študijsko prakso.") } ## //ŠTUDIJSKA PRAKSA// ## # Naredimo še tabelo za anketo PO izpitu, kjer vrednosti v tabelah sortiramo glede na vrednost komponente USTREZNOST KT# ## DODATNO SORTIJANJE PO USTREZNOSTI KREDITNIH TOČK# # REDNI ŠTUDIJ izbor.predmeti.po.redni.krediti <- izbor.predmeti[izbor.predmeti$NACIN_STUDIJA=="1", c("ST_STUD","N_anket_po_izpitu","sodelujocih.pct_po_izpitu", "zavrnjenih.pct_po_izpitu","neodzivnih.pct_po_izpitu", paste0(vars.predmet$cont$po,"_mean"),"predmet.ocena.SKUPAJ.po", "predmet.ocena.krediti_mean")] if (nrow(izbor.predmeti.po.redni.krediti) > 0) { # PO - redni if (any(is.na(izbor.predmeti.po.redni.krediti))) {opomba <- c(". Podatek ni prikazan zaradi majhnega števila enot.", "- Podatek je manj pomemben ali težko izračunljiv.", "* {\\color{Orange}\\textbf{Oranžno}} so označena odstopanja ({\\color{Orange}\\textbf{2.4-2.6}}) in ({\\color{Orange}\\textbf{3.4-3.6}}), {\\color{BrickRed}\\textbf{rdeče}} pa odstopanja (pod {\\color{BrickRed}\\textbf{2.4}}) in (nad {\\color{BrickRed}\\textbf{3.6}}).") } else {opomba <- "- Podatek je manj pomemben ali težko izračunljiv. \\newline * {\\color{Orange}\\textbf{Oranžno}} so označena odstopanja ({\\color{Orange}\\textbf{2.4-2.6}}) in ({\\color{Orange}\\textbf{3.4-3.6}}), {\\color{BrickRed}\\textbf{rdeče}} pa odstopanja (pod {\\color{BrickRed}\\textbf{2.4}}) in (nad {\\color{BrickRed}\\textbf{3.6}})."} if (sortbykrediti) { rownames(izbor.predmeti.po.redni.krediti) <- formatProgImena(rownames(izbor.predmeti.po.redni.krediti), izbor.predmeti.po.redni.krediti$predmet.ocena.krediti_mean) izbor.predmeti.po.redni.krediti <- izbor.predmeti.po.redni.krediti[order(izbor.predmeti.po.redni.krediti$predmet.ocena.krediti_mean, decreasing=TRUE),] } else { # sort by name izbor.predmeti.po.redni.krediti <- izbor.predmeti.po.redni.krediti[order(rownames(izbor.predmeti.po.redni.krediti), decreasing=FALSE),] } izbor.predmeti.po.redni.krediti <- rbind(izbor.predmeti.po.redni.krediti, colMeans(izbor.predmeti.po.redni.krediti, na.rm=TRUE)) izbor.predmeti.po.redni.krediti1 <- formatNA1(izbor.predmeti.po.redni.krediti[1:5], decimalke=c(0,0,0,0,0), pobarvanka=c(FDVstopnjaPobarvanka$st.stud,FDVstopnjaPobarvanka$n.anket, FDVstopnjaPobarvanka$sodelu.pct,FDVstopnjaPobarvanka$zavr.pct, FDVstopnjaPobarvanka$zavr.pct), na.repl=".") izbor.predmeti.po.redni.krediti2 <- formatNA(izbor.predmeti.po.redni.krediti[6:11], decimalke=c(as.numeric(vars.predmet$cont$decimalke[vars.predmet$cont$po]), decimalkePredmSkupaj,as.numeric(vars.predmet$krediti$decimalke)), pobarvanka=c(vars.predmet$cont$pobarvanka[vars.predmet$cont$po], povprecje.ocen.po=pobarvankaPredmSkupaj, vars.predmet$krediti$pobarvanka), na.repl=".") izbor.predmeti.po.redni.krediti <- cbind(izbor.predmeti.po.redni.krediti1,izbor.predmeti.po.redni.krediti2) vsota_krediti <- sum(izbor.predmeti.po.redni.krediti$predmet.ocena.SKUPAJ.po != ".") - 1 rownames(izbor.predmeti.po.redni.krediti)[nrow(izbor.predmeti.po.redni.krediti)] <- c(paste0("\\hline \\textbf{Povprečje ", fakulteta," (",vsota_krediti," predmetov)}")) colnames(izbor.predmeti.po.redni.krediti) <- latex.rotate(c("Št. vpisanih", "Št. odgovorov", "\\% odgovorov", "\\% zavrnitev", "\\% nesodelujočih", Hmisc::latexTranslate(as.character(vars.predmet$cont$ime.kratko[vars.predmet$cont$po])), "\\textbf{Skupaj}", as.character(vars.predmet$krediti$ime.kratko))) izbor.predmeti.po.redni.krediti<-izbor.predmeti.po.redni.krediti[c(1,2,3,4,5,7,8,9,10,6,11)] izbor.predmeti.po.redni.krediti.tex <- c(capture.output(Hmisc::latex(izbor.predmeti.po.redni.krediti, caption="Povprečja \\textbf{predmetov} (anketa PO izpitu), sortirana po \\textbf{Ustreznost KT}", rowlabel="", file="", where="H", multicol=FALSE, longtable=TRUE, lines.page=1000, col.just=c("c","c|","c","c","c|",rep_len("c", length(vars.predmet$cont$po[-1])),"|c","|c","c"), rowlabel.just="A{8cm}", insert.bottom=paste0("{\\footnotesize \\textit{", opomba, "}}")))) } else { izbor.predmeti.po.redni.krediti.tex <- "Ni ocen." } # IZREDNI ŠTUDIJ izbor.predmeti.po.izredni.krediti <- izbor.predmeti[izbor.predmeti$NACIN_STUDIJA=="2", c("ST_STUD","N_anket_po_izpitu","sodelujocih.pct_po_izpitu", "zavrnjenih.pct_po_izpitu","neodzivnih.pct_po_izpitu", paste0(vars.predmet$cont$po,"_mean"),"predmet.ocena.SKUPAJ.po", "predmet.ocena.krediti_mean")] if (nrow(izbor.predmeti.po.izredni.krediti) > 0) { # PO - izredni if (any(is.na(izbor.predmeti.po.izredni.krediti))) {opomba <- c(". Podatek ni prikazan zaradi majhnega števila enot.", "- Podatek je manj pomemben ali težko izračunljiv.", "* {\\color{Orange}\\textbf{Oranžno}} so označena odstopanja ({\\color{Orange}\\textbf{2.4-2.6}}) in ({\\color{Orange}\\textbf{3.4-3.6}}), {\\color{BrickRed}\\textbf{rdeče}} pa odstopanja (pod {\\color{BrickRed}\\textbf{2.4}}) in (nad {\\color{BrickRed}\\textbf{3.6}}).") } else {opomba <- "- Podatek je manj pomemben ali težko izračunljiv. \\newline * {\\color{Orange}\\textbf{Oranžno}} so označena odstopanja ({\\color{Orange}\\textbf{2.4-2.6}}) in ({\\color{Orange}\\textbf{3.4-3.6}}), {\\color{BrickRed}\\textbf{rdeče}} pa odstopanja (pod {\\color{BrickRed}\\textbf{2.4}}) in (nad {\\color{BrickRed}\\textbf{3.6}})."} if (sortByAverage) { izbor.predmeti.po.izredni.krediti <- izbor.predmeti.po.izredni.krediti[order(izbor.predmeti.po.izredni.krediti$predmet.ocena.krediti_mean, izbor.predmeti.po.izredni.krediti$N_anket, decreasing=TRUE),] rownames(izbor.predmeti.po.izredni.krediti) <- formatProgImena(rownames(izbor.predmeti.po.izredni.krediti), izbor.predmeti.po.izredni.krediti$predmet.ocena.krediti_mean) } else { # sort by name izbor.predmeti.po.izredni.krediti <- izbor.predmeti.po.izredni.krediti[order(rownames(izbor.predmeti.po.izredni.krediti), decreasing=FALSE),] } izbor.predmeti.po.izredni.krediti <- rbind(izbor.predmeti.po.izredni.krediti, colMeans(izbor.predmeti.po.izredni.krediti, na.rm=TRUE)) izbor.predmeti.po.izredni.krediti1 <- formatNA1(izbor.predmeti.po.izredni.krediti[1:5], decimalke=c(0,0,0,0,0), pobarvanka=c(FDVstopnjaPobarvanka$st.stud,FDVstopnjaPobarvanka$n.anket, FDVstopnjaPobarvanka$sodelu.pct,FDVstopnjaPobarvanka$zavr.pct, FDVstopnjaPobarvanka$zavr.pct), na.repl=".") izbor.predmeti.po.izredni.krediti2 <- formatNA(izbor.predmeti.po.izredni.krediti[6:11], decimalke=c(as.numeric(vars.predmet$cont$decimalke[vars.predmet$cont$po]), decimalkePredmSkupaj,as.numeric(vars.predmet$krediti$decimalke)), pobarvanka=c(vars.predmet$cont$pobarvanka[vars.predmet$cont$po], povprecje.ocen.po=pobarvankaPredmSkupaj, vars.predmet$krediti$pobarvanka), na.repl=".") izbor.predmeti.po.izredni.krediti <- cbind(izbor.predmeti.po.izredni.krediti1,izbor.predmeti.po.izredni.krediti2) vsota_krediti.izr <- sum(izbor.predmeti.po.izredni.krediti[11] != ".") - 1 rownames(izbor.predmeti.po.izredni.krediti)[nrow(izbor.predmeti.po.izredni.krediti)] <- c(paste0("\\hline \\textbf{Povprečje ", fakulteta," (",vsota_krediti.izr," predmetov)}")) colnames(izbor.predmeti.po.izredni.krediti) <- latex.rotate(c("Št. vpisanih", "Št. odgovorov", "\\% odgovorov", "\\% zavrnitev", "\\% nesodelujočih", Hmisc::latexTranslate(as.character(vars.predmet$cont$ime.kratko[vars.predmet$cont$po])), "\\textbf{Skupaj}", as.character(vars.predmet$krediti$ime.kratko))) izbor.predmeti.po.izredni.krediti <- izbor.predmeti.po.izredni.krediti[c(1,2,3,4,5,7,8,9,10,6,11)] izbor.predmeti.po.izredni.krediti.tex <- c(capture.output(Hmisc::latex(izbor.predmeti.po.izredni.krediti, caption="Povprečja \\textbf{predmetov} (anketa PO izpitu), sortirana po \\textbf{Ustreznost KT}", rowlabel="", file="", where="H", multicol=FALSE, longtable=TRUE, lines.page=1000, col.just=c("c","c|","c","c","c|",rep_len("c", length(vars.predmet$cont$po[-1])),"|c","|c","c"), rowlabel.just="A{8cm}", insert.bottom=paste0("{\\footnotesize \\textit{", opomba, "}}")))) } else { izbor.predmeti.po.izredni.krediti.tex <- "Ni ocen." } ################################ ##OCENE PROGRAMOV PO PREDMETIH## ################################ # ANKETA PRED IZPITOM progMeanPRED.tmp <- aggregate(data.predmeti[vars.predmet.vars], by=data.predmeti[c("student.program.sifra","student.program.ime")], FUN=mean, na.rm=TRUE) progMeanPRED.tmp <- cbind(progMeanPRED.tmp, predmet.ocena.SKUPAJ=rowMeans(progMeanPRED.tmp[vars.predmet.vars], na.rm=TRUE)) rownames(progMeanPRED.tmp) <- progMeanPRED.tmp[rownames(progMeanPRED.tmp),"student.program.ime"] if (nrow(progMeanPRED.tmp) > 0 & nrow(proggPRED.tmp1) > 0) { progMeanPRED.fak.skupaj <- merge(proggPRED.tmp1, progMeanPRED.tmp, by.x=c("program.studentov","program.studentov.ime"), by.y=c("student.program.sifra","student.program.ime"), all=TRUE, sort=FALSE) if (any(is.na(progMeanPRED.fak.skupaj))) {opomba <- c(". Podatek ni prikazan zaradi majhnega števila enot.", "- Podatek je manj pomemben ali težko izračunljiv.") } else {opomba <- "- Podatek je manj pomemben ali težko izračunljiv."} if ( sortByAverage1) { rownames(progMeanPRED.fak.skupaj) <- formatProgImena(progMeanPRED.fak.skupaj$program.studentov.ime, progMeanPRED.fak.skupaj$predmet.ocena.SKUPAJ) progMeanPRED.fak.skupaj <- progMeanPRED.fak.skupaj[order(progMeanPRED.fak.skupaj$predmet.ocena.SKUPAJ, decreasing=TRUE), !(colnames(progMeanPRED.fak.skupaj) %in% c("program.studentov", "program.studentov.ime"))] # sort and drop unneeded columns } else { # sort by name rownames(progMeanPRED.fak.skupaj) <- progMeanPRED.fak.skupaj$program.studentov.ime progMeanPRED.fak.skupaj <- progMeanPRED.fak.skupaj[order(as.character(sapply(rownames(progMeanPRED.fak.skupaj),titula.rm)), decreasing=FALSE), !(colnames(progMeanPRED.fak.skupaj) %in% c("program.studentov", "program.studentov.ime"))] # sort and drop unneeded columns } progMeanPRED.fak.skupaj <- rbind(progMeanPRED.fak.skupaj, c("-", colMeans(progMeanPRED.fak.skupaj[2:ncol(progMeanPRED.fak.skupaj)], na.rm=TRUE))) progMeanPRED.fak.skupaj <- formatNA(progMeanPRED.fak.skupaj, decimalke=c(0,as.numeric(decimalno_mestoPRED),decimalkeIzvSkupaj), pobarvanka=c("NE", as.character(pobarvanka.PRED),pobarvankaIzvSkupaj), na.repl=".") rownames(progMeanPRED.fak.skupaj )[nrow(progMeanPRED.fak.skupaj)] <- "\\hline \\textbf{Povprečje programov}" colnames(progMeanPRED.fak.skupaj ) <- latex.rotate(c("Št. predmetov", Hmisc::latexTranslate(as.character(imena_stolpcevPRED)), "\\textbf{Skupaj}")) progMeanPRED.fak.skupaj.tex <- capture.output(Hmisc::latex(progMeanPRED.fak.skupaj, caption="Povprečja \\textbf{predmetov} po študijskih programih (anketa PRED izpitom), sortirana po \\textbf{Skupaj}", rowlabel="", file="", where="H", rowlabel.just="A{11cm}", multicol=FALSE, longtable=TRUE, lines.page=1000, insert.bottom=paste("{\\footnotesize \\textit{", opomba, "}}"), col.just=c("c|",rep_len("c", length(imena_stolpcevPRED)),"|c"))) } else { progMeanPRED.fak.skupaj.tex <- "Ni ocen." } ##ANKETA PO IZPITU## progMeanPO.tmp <- aggregate(data.predmeti[c(vars.predmet$cont$po,"predmet.ocena.krediti")], by=data.predmeti[c("student.program.sifra","student.program.ime")], FUN=mean, na.rm=TRUE) progMeanPO.tmp <- cbind(progMeanPO.tmp, predmet.ocena.SKUPAJ=rowMeans(progMeanPO.tmp[vars.predmet$cont$po[-1]], na.rm=TRUE)) rownames(progMeanPO.tmp) <- progMeanPO.tmp[rownames(progMeanPO.tmp),"student.program.ime"] if (nrow(progMeanPO.tmp) > 0 & !is.null(proggPO.tmp1)) { progMeanPO.fak.skupaj <- merge(proggPO.tmp1, progMeanPO.tmp, by.x=c("program.studentov","program.studentov.ime"), by.y=c("student.program.sifra","student.program.ime"), all=TRUE, sort=FALSE) progMeanPO.fak.skupaj <- progMeanPO.fak.skupaj[c(1,2,3,4,5,6,7,9,8)] if (any(is.na(progMeanPO.fak.skupaj))) {opomba <- c(". Podatek ni prikazan zaradi majhnega števila enot.", "- Podatek je manj pomemben ali težko izračunljiv. \\newline * {\\color{Orange}\\textbf{Oranžno}} so označena odstopanja ({\\color{Orange}\\textbf{2.4-2.6}}) in ({\\color{Orange}\\textbf{3.4-3.6}}), {\\color{BrickRed}\\textbf{rdeče}} pa odstopanja (pod {\\color{BrickRed}\\textbf{2.4}}) in (nad {\\color{BrickRed}\\textbf{3.6}}).") } else {opomba <- "- Podatek je manj pomemben ali težko izračunljiv. \\newline * {\\color{Orange}\\textbf{Oranžno}} so označena odstopanja ({\\color{Orange}\\textbf{2.4-2.6}}) in ({\\color{Orange}\\textbf{3.4-3.6}}), {\\color{BrickRed}\\textbf{rdeče}} pa odstopanja (pod {\\color{BrickRed}\\textbf{2.4}}) in (nad {\\color{BrickRed}\\textbf{3.6}})."} if (sortByAverage1) { progMeanPO.fak.skupaj <- progMeanPO.fak.skupaj[order(progMeanPO.fak.skupaj$predmet.ocena.SKUPAJ, decreasing=TRUE), !(colnames(progMeanPO.fak.skupaj) %in% c("program.studentov", "program.studentov.ime"))] # sort and drop unneeded columns rownames(progMeanPO.fak.skupaj) <- formatProgImena(progMeanPO.fak.skupaj$program.studentov.ime, progMeanPO.fak.skupaj$predmet.ocena.SKUPAJ) } else { # sort by name rownames(progMeanPO.fak.skupaj) <- progMeanPO.fak.skupaj$program.studentov.ime progMeanPO.fak.skupaj <- progMeanPO.fak.skupaj[order(as.character(sapply(rownames(progMeanPO.fak.skupaj), titula.rm)), decreasing=FALSE), !(colnames(progMeanPO.fak.skupaj) %in% c("program.studentov", "program.studentov.ime"))] # sort and drop unneeded columns } progMeanPO.fak.skupaj <- rbind(progMeanPO.fak.skupaj, c("-", colMeans(progMeanPO.fak.skupaj[2:ncol(progMeanPO.fak.skupaj)], na.rm=TRUE))) progMeanPO.fak.skupaj <- formatNA(progMeanPO.fak.skupaj, decimalke=c(0,as.numeric(decimalno_mestoPO),decimalkeIzvSkupaj,as.numeric(vars.predmet$krediti$decimalke)), pobarvanka=c("NE", as.character(pobarvanka.PO),pobarvankaIzvSkupaj,vars.predmet$krediti$pobarvanka), na.repl=".") rownames(progMeanPO.fak.skupaj)[nrow(progMeanPO.fak.skupaj)] <- "\\hline \\textbf{Povprečje programov}" colnames(progMeanPO.fak.skupaj) <- latex.rotate(c("Št. predmetov", Hmisc::latexTranslate(as.character(imena_stolpcevPO)), "\\textbf{Skupaj}",as.character(vars.predmet$krediti$ime.kratko))) progMeanPO.fak.skupaj <- progMeanPO.fak.skupaj[c(1,3,4,5,6,2,7)] progMeanPO.fak.skupaj.tex <- capture.output(Hmisc::latex(progMeanPO.fak.skupaj, caption="Povprečja \\textbf{predmetov} po študijskih programih (anketa PO izpitu), sortirana po \\textbf{Skupaj}", rowlabel="", file="", where="H", rowlabel.just="A{13cm}", multicol=FALSE, longtable=TRUE, lines.page=1000, insert.bottom=paste("{\\footnotesize \\textit{", opomba, "}}"), col.just=c("c|",rep_len("c", length(imena_stolpcevPO[-1])),"|c","|c","c"))) } else { progMeanPO.fak.skupaj.tex <- NULL } ############################ ################################################################### #LOČENI IZPISI ZA PRVO (DODIPLOMSKI) IN DRUGO (PODIPLOMSKI) STOPNJO ################################################################### #FAKULTETA: IZPIS PROGRAMOV ZA PRVO STOPNJO #DODIPLOMSKI PROGRAM stopnja_program <- merge(povprecja.predmeti[c("predmet.sifra","STOPNJA")], povprecja.predmeti.programi[c("predmet.sifra",paste0(vars.predmet$cont$vars,"_mean"), paste0(vars.predmet$krediti$vars,"_mean"),"program.studentov", "program.studentov.ime","N_anket","N_anket_po_izpitu" )], by="predmet.sifra", sort=FALSE) stopnja_program <- stopnja_program[stopnja_program$N_anket >=minEnot, c("predmet.sifra","program.studentov","program.studentov.ime","STOPNJA")] if (nrow(stopnja_program) >0) { stopnja_program <- aggregate(stopnja_program$predmet.sifra, by=stopnja_program[c("program.studentov","program.studentov.ime","STOPNJA")], function(x) length(unique(x))) } else {stopnja_program <- stopnja_program} stopnja_program.pred <- merge(test.pred, stopnja_program, by.x="student.program.ime",by.y="program.studentov.ime", all=TRUE) #ANKETA PRED IZPITOM program.1stopnja <- aggregate(data.predmeti[vars.predmet.vars], by=data.predmeti[c("student.program.sifra","student.program.ime")], FUN=mean, na.rm=TRUE) program.1stopnja <- cbind(program.1stopnja, predmet.ocena.SKUPAJ=rowMeans(program.1stopnja[vars.predmet.vars], na.rm=TRUE)) stopnja_program1 <- stopnja_program colnames(stopnja_program1)[4] <- "N_anket" rownames(stopnja_program1) <- stopnja_program1[rownames(stopnja_program1),"student.program.ime"] if (nrow(stopnja_program1) > 0 & any(stopnja_program1$STOPNJA==1)) { program_BD_pred.skupaj <- merge(stopnja_program1, program.1stopnja, by.x=c("program.studentov","program.studentov.ime"), by.y=c("student.program.sifra","student.program.ime"), all=TRUE, sort=FALSE) program_BD_pred.skupaj <- subset(program_BD_pred.skupaj, STOPNJA==1) program_BD_pred.skupaj <- program_BD_pred.skupaj[, !(colnames(program_BD_pred.skupaj) %in% c("STOPNJA"))] # Magistrski # Če se pojavi "Magistrski" v dodiplomskih programih, izloči vrstico, ki vsebuje besedo "Magistrski" #if (gregexpr(pattern = "Magistrski",program_BD_pred.skupaj$program.studentov.ime)[[1]][1] == 1){ # program_BD_pred.skupaj<-program_BD_pred.skupaj[- grep("Magistrski", program_BD_pred.skupaj$program.studentov.ime),] #} # /Magistrski # st.programov <- length(program_BD_pred.skupaj$program.studentov.ime) if (sortByAverage) { rownames(program_BD_pred.skupaj) <- formatProgImena(program_BD_pred.skupaj$program.studentov.ime, program_BD_pred.skupaj$predmet.ocena.SKUPAJ) program_BD_pred.skupaj <- program_BD_pred.skupaj[order(program_BD_pred.skupaj$predmet.ocena.SKUPAJ, decreasing=TRUE), !(colnames(program_BD_pred.skupaj) %in% c("program.studentov", "program.studentov.ime"))] # sort and drop unneeded columns } else { # sort by name rownames(program_BD_pred.skupaj) <- program_BD_pred.skupaj$program.studentov.ime program_BD_pred.skupaj <- program_BD_pred.skupaj[order(as.character(sapply(rownames(program_BD_pred.skupaj),titula.rm)), decreasing=FALSE), !(colnames(program_BD_pred.skupaj) %in% c("program.studentov", "program.studentov.ime"))] # sort and drop unneeded columns } program_BD_pred.skupaj <- rbind(program_BD_pred.skupaj, c(colMeans(program_BD_pred.skupaj[1:1]), colMeans(program_BD_pred.skupaj[2:ncol(program_BD_pred.skupaj)], na.rm=TRUE))) program_BD_pred.skupaj <- formatNA(program_BD_pred.skupaj, decimalke=c(0,as.numeric(decimalno_mestoPRED),decimalkeIzvSkupaj), pobarvanka = c("NE", as.character(pobarvanka.PRED),pobarvankaIzvSkupaj), na.repl=".") rownames(program_BD_pred.skupaj )[nrow(program_BD_pred.skupaj)] <- c(paste0("\\hline \\textbf{Povprečje ", fakulteta," (",st.programov," programov)}")) colnames(program_BD_pred.skupaj ) <- latex.rotate(c("Št. predmetov", Hmisc::latexTranslate(as.character(imena_stolpcevPRED)), "\\textbf{Skupaj}")) program_BD_pred.skupaj.tex <- capture.output(Hmisc::latex(program_BD_pred.skupaj, caption="Povprečja \\textbf{predmetov} po študijskih programih (anketa PRED izpitom), sortirana po \\textbf{Skupaj}", rowlabel="", file="", where="H", rowlabel.just="A{10cm}", multicol=FALSE, longtable=TRUE, lines.page=1000, insert.bottom=paste("{\\footnotesize \\textit{}}"), col.just=c("c|",rep_len("c", length(imena_stolpcevPRED)),"|c"))) } else {c( program_BD_pred.skupaj.tex <- "Ni ocen za izračun povprečja \\textbf{predmetov} po študijskih programih (anketa PRED izpitom) sortirana po \\textbf{Skupaj}") } #ANKETA PO IZPITU stopnja_program.PO <- merge(povprecja.predmeti[c("predmet.sifra","STOPNJA")], povprecja.predmeti.programi.PO[c("predmet.sifra",paste0(vars.predmet$cont$vars[8:20],"_mean"), paste0(vars.predmet$krediti$vars,"_mean"),"program.studentov", "program.studentov.ime","N_anket","N_anket_po_izpitu" )], by="predmet.sifra", sort=FALSE) stopnja_program.PO <- stopnja_program.PO[stopnja_program.PO$N_anket_po_izpitu >=minEnot, c("predmet.sifra","program.studentov","program.studentov.ime","STOPNJA")] if (any(!is.na(stopnja_program.PO))){ stopnja_program.PO <- aggregate(stopnja_program.PO$predmet.sifra, by=stopnja_program.PO[c("program.studentov","program.studentov.ime","STOPNJA")], function(x) length(unique(x))) stopnja_program.PO.pred <- merge(test.po, stopnja_program.PO, by.x="student.program.ime",by.y="program.studentov.ime", all=TRUE) } else { stopnja_program.PO <- NULL} program.1stopnja.PO <- aggregate(data.predmeti.PO[c(vars.predmet$cont$po,"predmet.ocena.krediti")], by=data.predmeti.PO[c("student.program.sifra","student.program.ime")], FUN=mean, na.rm=TRUE) program.1stopnja.PO <- cbind(program.1stopnja.PO, predmet.ocena.SKUPAJ=rowMeans(program.1stopnja.PO[vars.predmet$cont$po[-1]], na.rm=TRUE)) stopnja_program.PO1 <- stopnja_program.PO if (!is.null(stopnja_program.PO1)) { colnames(stopnja_program.PO1)[4] <- "N_anket" rownames(program.1stopnja.PO) <- program.1stopnja.PO[rownames(program.1stopnja.PO),"student.program.ime"] } if (nrow(program.1stopnja.PO) > 0 & !is.null(stopnja_program.PO1)) { program_BD_po.skupaj <- merge(stopnja_program.PO1, program.1stopnja.PO, by.x=c("program.studentov","program.studentov.ime"), by.y=c("student.program.sifra","student.program.ime"), all=TRUE, sort=FALSE) program_BD_po.skupaj <- subset(program_BD_po.skupaj, STOPNJA==1) } else {program_BD_po.skupaj <- NULL } if (nrow(program.1stopnja.PO) > 0 & nrow(program_BD_po.skupaj) > 0) { program_BD_po.skupaj <- program_BD_po.skupaj[, !(colnames(program_BD_po.skupaj) %in% c("STOPNJA"))] program_BD_po.skupaj <- program_BD_po.skupaj[c(1,2,3,4,5,6,7,9,8)] st.programov1 <-length(program_BD_po.skupaj$program.studentov.ime) if (sortByAverage) { rownames(program_BD_po.skupaj) <- formatProgImena(program_BD_po.skupaj$program.studentov.ime, program_BD_po.skupaj$predmet.ocena.SKUPAJ) program_BD_po.skupaj <- program_BD_po.skupaj[order(program_BD_po.skupaj$predmet.ocena.SKUPAJ, decreasing=TRUE), !(colnames(program_BD_po.skupaj) %in% c("program.studentov", "program.studentov.ime"))] # sort and drop unneeded columns } else { # sort by name rownames(program_BD_po.skupaj) <- program_BD_po.skupaj$program.studentov.ime program_BD_po.skupaj <- program_BD_po.skupaj[order(as.character(sapply(rownames(program_BD_po.skupaj))), decreasing=FALSE), !(colnames(program_BD_po.skupaj) %in% c("program.studentov", "program.studentov.ime"))] # sort and drop unneeded columns } program_BD_po.skupaj <- rbind(program_BD_po.skupaj, c(colMeans(program_BD_po.skupaj[1:1]), colMeans(program_BD_po.skupaj[2:ncol(program_BD_po.skupaj)], na.rm=TRUE))) program_BD_po.skupaj <- formatNA(program_BD_po.skupaj, decimalke=c(0,as.numeric(decimalno_mestoPO), decimalkeIzvSkupaj,as.numeric(vars.predmet$krediti$decimalke)), pobarvanka=c("NE", as.character(pobarvanka.PO),pobarvankaIzvSkupaj,vars.predmet$krediti$pobarvanka), na.repl=".") rownames(program_BD_po.skupaj )[nrow(program_BD_po.skupaj)] <- c(paste0("\\hline \\textbf{Povprečje ", fakulteta," (",st.programov1," programov)}")) colnames(program_BD_po.skupaj ) <- latex.rotate(c("Št. predmetov", Hmisc::latexTranslate(as.character(imena_stolpcevPO)), "\\textbf{Skupaj}",as.character(vars.predmet$krediti$ime.kratko))) program_BD_po.skupaj <-program_BD_po.skupaj[c(1,3,4,5,6,2,7)] program_BD_po.skupaj.tex <- capture.output(Hmisc::latex(program_BD_po.skupaj, caption="Povprečja \\textbf{predmetov} po študijskih programih (anketa PO izpitu), sortirana po \\textbf{Skupaj}", rowlabel="", file="", where="H", rowlabel.just="A{11.5cm}", multicol=FALSE, longtable=TRUE, lines.page=1000, insert.bottom=paste("{\\footnotesize \\textit{* {\\color{Orange}\\textbf{Oranžno}} so označena odstopanja ({\\color{Orange}\\textbf{2.4-2.6}}) in ({\\color{Orange}\\textbf{3.4-3.6}}), {\\color{BrickRed}\\textbf{rdeče}} pa odstopanja (pod {\\color{BrickRed}\\textbf{2.4}}) in (nad {\\color{BrickRed}\\textbf{3.6}}). }}"), col.just=c("c|",rep_len("c", length(imena_stolpcevPO[-1])),"|c","|c","c"))) } else {c( program_BD_po.skupaj.tex <- "Ni ocen za izračun povprečja \\textbf{predmetov} po študijskih programih (anketa PO izpitu) sortirana po \\textbf{Skupaj}") } #ANKETA PO IZPITU SORITRANA PO USTREZNOSTI KREDITNIH TOČK stopnja_program.PO.krediti <- merge(povprecja.predmeti[c("predmet.sifra","STOPNJA")], povprecja.predmeti.programi.PO[c("predmet.sifra",paste0(vars.predmet$cont$vars[8:20],"_mean"), paste0(vars.predmet$krediti$vars,"_mean"),"program.studentov", "program.studentov.ime","N_anket","N_anket_po_izpitu" )], by="predmet.sifra", sort=FALSE) stopnja_program.PO.krediti <- stopnja_program.PO.krediti[stopnja_program.PO.krediti$N_anket_po_izpitu >=minEnot, c("predmet.sifra","program.studentov","program.studentov.ime","STOPNJA")] if (nrow(stopnja_program.PO.krediti) > 0) { stopnja_program.PO.krediti <- aggregate(stopnja_program.PO.krediti$predmet.sifra, by=stopnja_program.PO.krediti[c("program.studentov","program.studentov.ime","STOPNJA")], function(x) length(unique(x))) stopnja_program.PO.krediti.pred <- merge(test.po, stopnja_program.PO.krediti, by.x="student.program.ime",by.y="program.studentov.ime", all=TRUE) } program.1stopnja.PO.krediti <- aggregate(data.predmeti.PO[c(vars.predmet$cont$po,"predmet.ocena.krediti")], by=data.predmeti.PO[c("student.program.sifra","student.program.ime")], FUN=mean, na.rm=TRUE) program.1stopnja.PO.krediti <- cbind(program.1stopnja.PO.krediti, predmet.ocena.SKUPAJ=rowMeans(program.1stopnja.PO.krediti[vars.predmet$cont$po[-1]], na.rm=TRUE)) stopnja_program.PO.krediti1 <- stopnja_program.PO.krediti colnames(stopnja_program.PO.krediti1)[4] <- "N_anket" rownames(program.1stopnja.PO.krediti) <- program.1stopnja.PO.krediti[rownames(program.1stopnja.PO.krediti),"student.program.ime"] if (nrow(program.1stopnja.PO.krediti) > 0 & nrow(stopnja_program.PO.krediti1) > 0) { program_BD_po.skupaj.krediti <- merge(stopnja_program.PO.krediti1, program.1stopnja.PO.krediti, by.x=c("program.studentov","program.studentov.ime"), by.y=c("student.program.sifra","student.program.ime"), all=TRUE, sort=FALSE) program_BD_po.skupaj.krediti <- subset(program_BD_po.skupaj.krediti, STOPNJA==1) } else {program_BD_po.skupaj.krediti <- stopnja_program.PO.krediti1} if (nrow(program.1stopnja.PO.krediti) > 0 & nrow(program_BD_po.skupaj.krediti) > 0) { program_BD_po.skupaj.krediti<- program_BD_po.skupaj.krediti[, !(colnames(program_BD_po.skupaj.krediti) %in% c("STOPNJA"))] program_BD_po.skupaj.krediti<- program_BD_po.skupaj.krediti[c(1,2,3,4,5,6,7,9,8)] #if (gregexpr(pattern = "Magistrski",program_BD_po.skupaj.krediti$program.studentov.ime)[[1]][1] == 1){ # program_BD_po.skupaj.krediti<-program_BD_po.skupaj.krediti[- grep("Magistrski", program_BD_po.skupaj.krediti$program.studentov.ime),] #} st.programov1 <- length(program_BD_po.skupaj.krediti$program.studentov.ime) if (sortByAverage) { rownames(program_BD_po.skupaj.krediti) <- formatProgImena(program_BD_po.skupaj.krediti$program.studentov.ime, program_BD_po.skupaj.krediti$predmet.ocena.krediti) program_BD_po.skupaj.krediti <- program_BD_po.skupaj.krediti[order(program_BD_po.skupaj.krediti$predmet.ocena.krediti, decreasing=TRUE), !(colnames(program_BD_po.skupaj.krediti) %in% c("program.studentov", "program.studentov.ime"))] # sort and drop unneeded columns } else { # sort by name rownames(program_BD_po.skupaj.krediti) <- program_BD_po.skupaj.krediti$program.studentov.ime program_BD_po.skupaj.krediti <- program_BD_po.skupaj.krediti[order(as.character(sapply(rownames(program_BD_po.skupaj.krediti))), decreasing=FALSE), !(colnames(program_BD_po.skupaj.krediti) %in% c("program.studentov", "program.studentov.ime"))] # sort and drop unneeded columns } program_BD_po.skupaj.krediti <- rbind(program_BD_po.skupaj.krediti, c(colMeans(program_BD_po.skupaj.krediti[1:1]), colMeans(program_BD_po.skupaj.krediti[2:ncol(program_BD_po.skupaj.krediti)], na.rm=TRUE))) program_BD_po.skupaj.krediti <- formatNA(program_BD_po.skupaj.krediti, decimalke=c(0,as.numeric(decimalno_mestoPO), decimalkeIzvSkupaj,as.numeric(vars.predmet$krediti$decimalke)), pobarvanka=c("NE", as.character(pobarvanka.PO),pobarvankaIzvSkupaj,vars.predmet$krediti$pobarvanka), na.repl=".") rownames(program_BD_po.skupaj.krediti )[nrow(program_BD_po.skupaj.krediti)] <- c(paste0("\\hline \\textbf{Povprečje ", fakulteta," (",st.programov1," programov)}")) colnames(program_BD_po.skupaj.krediti ) <- latex.rotate(c("Št. predmetov", Hmisc::latexTranslate(as.character(imena_stolpcevPO)), "\\textbf{Skupaj}",as.character(vars.predmet$krediti$ime.kratko))) program_BD_po.skupaj.krediti<-program_BD_po.skupaj.krediti[c(1,3,4,5,6,2,7)] program_BD_po.skupaj.krediti.tex <- capture.output(Hmisc::latex(program_BD_po.skupaj.krediti, caption="Povprečja \\textbf{predmetov} po študijskih programih (anketa PO izpitu), sortirana po \\textbf{Ustreznost KT}", rowlabel="", file="", where="H", rowlabel.just="A{12cm}", multicol=FALSE, longtable=TRUE, lines.page=1000, insert.bottom=paste("{\\footnotesize \\textit{* {\\color{Orange}\\textbf{Oranžno}} so označena odstopanja ({\\color{Orange}\\textbf{2.4-2.6}}) in ({\\color{Orange}\\textbf{3.4-3.6}}), {\\color{BrickRed}\\textbf{rdeče}} pa odstopanja (pod {\\color{BrickRed}\\textbf{2.4}}) in (nad {\\color{BrickRed}\\textbf{3.6}}). }}"), col.just=c("c|",rep_len("c", length(imena_stolpcevPO[-1])),"|c","|c","c"))) } else {c( program_BD_po.skupaj.krediti.tex <- "Ni ocen za izračun povprečja \\textbf{predmetov} po študijskih programih (anketa PO izpitu) sortirana po \\textbf{Ustreznost KT} ") } ################### ################### ###FAKULTETA: IZPIS PROGRAMOV ZA DRUGO STOPNJO #PODIPLOMSKI PROGRAM stopnja_program_podipl <- merge(povprecja.predmeti[c("predmet.sifra","STOPNJA")], povprecja.predmeti.programi[c("predmet.sifra",paste0(vars.predmet$cont$vars,"_mean"), paste0(vars.predmet$krediti$vars,"_mean"),"program.studentov", "program.studentov.ime","N_anket","N_anket_po_izpitu" )], by="predmet.sifra", sort=FALSE) stopnja_program_podipl <- stopnja_program_podipl[stopnja_program_podipl$N_anket >=minEnot, c("predmet.sifra","program.studentov","program.studentov.ime","STOPNJA")] if (nrow(stopnja_program_podipl) > 0) { stopnja_program_podipl <- aggregate(stopnja_program_podipl$predmet.sifra, by=stopnja_program_podipl[c("program.studentov","program.studentov.ime","STOPNJA")], function(x) length(unique(x))) } else {stopnja_program_podipl <- stopnja_program_podipl} stopnja_program_podipl.pred <- merge(test.pred, stopnja_program_podipl, by.x="student.program.ime",by.y="program.studentov.ime", all=TRUE) #ANKETA PRED IZPITOM program.2stopnja <- aggregate(data.predmeti[vars.predmet.vars], by=data.predmeti[c("student.program.sifra","student.program.ime")], FUN=mean, na.rm=TRUE) program.2stopnja <- cbind(program.2stopnja, predmet.ocena.SKUPAJ=rowMeans(program.2stopnja[vars.predmet.vars], na.rm=TRUE)) stopnja_program_podipl1 <- stopnja_program_podipl colnames(stopnja_program_podipl1)[4] <- "N_anket" rownames(stopnja_program_podipl1) <- stopnja_program_podipl1[rownames(stopnja_program_podipl1),"student.program.ime"] ##Izločimo Neznan program stopnja_program_podipl1 <- stopnja_program_podipl1[!stopnja_program_podipl1$program.studentov.ime == "Neznan program", ] if (nrow(stopnja_program_podipl1) > 0 & any(stopnja_program_podipl1$STOPNJA==2)) { program_BD_pred.podipl <- merge(stopnja_program_podipl1, program.2stopnja, by.x=c("program.studentov","program.studentov.ime"), by.y=c("student.program.sifra","student.program.ime"), all=TRUE, sort=FALSE) program_BD_pred.podipl <- subset(program_BD_pred.podipl, STOPNJA==2) program_BD_pred.podipl <- program_BD_pred.podipl[, !(colnames(program_BD_pred.podipl) %in% c("STOPNJA"))] st.programov2 <- length(program_BD_pred.podipl$program.studentov.ime) if (sortByAverage) { rownames(program_BD_pred.podipl) <- formatProgImena(program_BD_pred.podipl$program.studentov.ime, program_BD_pred.podipl$predmet.ocena.SKUPAJ) program_BD_pred.podipl <- program_BD_pred.podipl[order(program_BD_pred.podipl$predmet.ocena.SKUPAJ, decreasing=TRUE), !(colnames(program_BD_pred.podipl) %in% c("program.studentov", "program.studentov.ime"))] # sort and drop unneeded columns } else { # sort by name rownames(program_BD_pred.podipl) <- program_BD_pred.podipl$program.studentov.ime program_BD_pred.podipl <- program_BD_pred.podipl[order(as.character(sapply(rownames(program_BD_pred.podipl),titula.rm)), decreasing=FALSE), !(colnames(program_BD_pred.podipl) %in% c("program.studentov", "program.studentov.ime"))] # sort and drop unneeded columns } program_BD_pred.podipl <- rbind(program_BD_pred.podipl, c(colMeans(program_BD_pred.podipl[1:1]), colMeans(program_BD_pred.podipl[2:ncol(program_BD_pred.podipl)], na.rm=TRUE))) program_BD_pred.podipl <- formatNA(program_BD_pred.podipl, decimalke=c(0,as.numeric(decimalno_mestoPRED),decimalkeIzvSkupaj), pobarvanka=c("NE", as.character(pobarvanka.PRED),pobarvankaIzvSkupaj), na.repl=".") rownames(program_BD_pred.podipl )[nrow(program_BD_pred.podipl)] <- c(paste0("\\hline \\textbf{Povprečje ", fakulteta," (",st.programov2," programov)}")) colnames(program_BD_pred.podipl ) <- latex.rotate(c("Št. predmetov", Hmisc::latexTranslate(as.character(imena_stolpcevPRED)), "\\textbf{Skupaj}")) program_BD_pred.podipl.tex <- capture.output(Hmisc::latex(program_BD_pred.podipl, caption="Povprečja \\textbf{predmetov} po študijskih programih (anketa PRED izpitom), sortirana po \\textbf{Skupaj}", rowlabel="", file="", where="H", rowlabel.just="A{10cm}", multicol=FALSE, longtable=TRUE, lines.page=1000, insert.bottom=paste("{\\footnotesize \\textit{}}"), col.just=c("c|",rep_len("c", length(imena_stolpcevPRED)),"|c"))) } else {c( program_BD_pred.podipl.tex <- "Ni ocen za izračun povprečja \\textbf{predmetov} po študijskih programih (anketa PRED izpitom) sortirana po \\textbf{Skupaj}") } ############### #ANKETA PO IZPITU stopnja_program_podipl.PO <- merge(povprecja.predmeti[c("predmet.sifra","STOPNJA")], povprecja.predmeti.programi.PO[c("predmet.sifra",paste0(vars.predmet$cont$vars[8:20],"_mean"), paste0(vars.predmet$krediti$vars,"_mean"),"program.studentov","program.studentov.ime","N_anket","N_anket_po_izpitu" )], by="predmet.sifra", sort=FALSE) stopnja_program_podipl.PO <- stopnja_program_podipl.PO[stopnja_program_podipl.PO$N_anket_po_izpitu >=minEnot, c("predmet.sifra","program.studentov","program.studentov.ime","STOPNJA")] if (nrow(stopnja_program_podipl.PO) > 0) { stopnja_program_podipl.PO <- aggregate(stopnja_program_podipl.PO$predmet.sifra, by=stopnja_program_podipl.PO[c("program.studentov","program.studentov.ime","STOPNJA")], function(x) length(unique(x))) stopnja_program_podipl.PO.pred <- merge(test.po, stopnja_program_podipl.PO, by.x="student.program.ime",by.y="program.studentov.ime", all=TRUE) } program.22stopnja.PO <- aggregate(data.predmeti.PO[c(vars.predmet$cont$po,"predmet.ocena.krediti")], by=data.predmeti.PO[c("student.program.sifra","student.program.ime")], FUN=mean, na.rm=TRUE) program.22stopnja.PO <- cbind(program.22stopnja.PO, predmet.ocena.SKUPAJ=rowMeans(program.22stopnja.PO[vars.predmet$cont$po[-1]], na.rm=TRUE)) stopnja_program_podipl.PO1 <- stopnja_program_podipl.PO colnames(stopnja_program_podipl.PO1)[4] <- "N_anket" rownames(program.22stopnja.PO) <- program.22stopnja.PO[rownames(program.22stopnja.PO),"student.program.ime"] if (nrow(program.22stopnja.PO) > 0 & nrow(stopnja_program_podipl.PO1)>0) { program_BD_po.podipl <- merge(stopnja_program_podipl.PO1, program.22stopnja.PO, by.x=c("program.studentov","program.studentov.ime"), by.y=c("student.program.sifra","student.program.ime"), all=TRUE, sort=FALSE) program_BD_po.podipl <- subset(program_BD_po.podipl, STOPNJA==2) } else {program_BD_po.podipl <- stopnja_program_podipl.PO} if (nrow(program_BD_po.podipl) > 0 & !is.null(program_BD_po.podipl)) { program_BD_po.podipl <- program_BD_po.podipl[, !(colnames(program_BD_po.podipl) %in% c("STOPNJA"))] program_BD_po.podipl <- program_BD_po.podipl[c(1,2,3,4,5,6,7,9,8)] st.programov3 <- length(program_BD_po.podipl$program.studentov.ime) if (sortByAverage) { rownames(program_BD_po.podipl) <- formatProgImena(program_BD_po.podipl$program.studentov.ime, program_BD_po.podipl$predmet.ocena.SKUPAJ) program_BD_po.podipl <- program_BD_po.podipl[order(program_BD_po.podipl$predmet.ocena.SKUPAJ, decreasing=TRUE), !(colnames(program_BD_po.podipl) %in% c("program.studentov", "program.studentov.ime"))] # sort and drop unneeded columns } else { # sort by name rownames(program_BD_po.podipl) <- program_BD_po.podipl$program.studentov.ime program_BD_po.podipl <- program_BD_po.podipl[order(as.character(sapply(rownames(program_BD_po.podipl))), decreasing=FALSE), !(colnames(program_BD_po.podipl) %in% c("program.studentov", "program.studentov.ime"))] # sort and drop unneeded columns } program_BD_po.podipl <- rbind(program_BD_po.podipl, c(colMeans(program_BD_po.podipl[1:1]), colMeans(program_BD_po.podipl[2:ncol(program_BD_po.podipl)], na.rm=TRUE))) program_BD_po.podipl <- formatNA(program_BD_po.podipl, decimalke=c(0,as.numeric(decimalno_mestoPO),decimalkeIzvSkupaj, as.numeric(vars.predmet$krediti$decimalke)), pobarvanka=c("NE", as.character(pobarvanka.PO),pobarvankaIzvSkupaj,vars.predmet$krediti$pobarvanka), na.repl=".") rownames(program_BD_po.podipl )[nrow(program_BD_po.podipl)] <- c(paste0("\\hline \\textbf{Povprečje ", fakulteta," (",st.programov3," programov)}")) colnames(program_BD_po.podipl ) <- latex.rotate(c("Št. predmetov", Hmisc::latexTranslate(as.character(imena_stolpcevPO)), "\\textbf{Skupaj}",as.character(vars.predmet$krediti$ime.kratko))) program_BD_po.podipl<-program_BD_po.podipl[c(1,3,4,5,6,2,7)] program_BD_po.podipl.tex <- capture.output(Hmisc::latex(program_BD_po.podipl, caption="Povprečja \\textbf{predmetov} po študijskih programih (anketa PO izpitu), sortirana po \\textbf{Skupaj}", rowlabel="", file="", where="H", rowlabel.just="A{11.5cm}", multicol=FALSE, longtable=TRUE, lines.page=1000, insert.bottom=paste("{\\footnotesize \\textit{* {\\color{Orange}\\textbf{Oranžno}} so označena odstopanja ({\\color{Orange}\\textbf{2.4-2.6}}) in ({\\color{Orange}\\textbf{3.4-3.6}}), {\\color{BrickRed}\\textbf{rdeče}} pa odstopanja (pod {\\color{BrickRed}\\textbf{2.4}}) in (nad {\\color{BrickRed}\\textbf{3.6}}).}}"), col.just=c("c|",rep_len("c", length(imena_stolpcevPO[-1])),"|c","|c","c"))) } else {c( program_BD_po.podipl.tex <- "Ni ocen za izračun povprečja \\textbf{predmetov} po študijskih programih (anketa PO izpitu) sortirana po \\textbf{Skupaj}") } #ANKETA PO IZPITU SORTIRANA PO USTRETNOSTI KREDITNIH TOČK stopnja_program_podipl.PO.krediti <- merge(povprecja.predmeti[c("predmet.sifra","STOPNJA")], povprecja.predmeti.programi.PO[c("predmet.sifra",paste0(vars.predmet$cont$vars[8:20],"_mean"), paste0(vars.predmet$krediti$vars,"_mean"), "program.studentov","program.studentov.ime", "N_anket","N_anket_po_izpitu" )], by="predmet.sifra", sort=FALSE) stopnja_program_podipl.PO.krediti <- stopnja_program_podipl.PO.krediti[stopnja_program_podipl.PO.krediti$N_anket_po_izpitu >=minEnot, c("predmet.sifra","program.studentov","program.studentov.ime","STOPNJA")] if (nrow(stopnja_program_podipl.PO.krediti) > 0) { stopnja_program_podipl.PO.krediti <- aggregate(stopnja_program_podipl.PO.krediti$predmet.sifra, by=stopnja_program_podipl.PO.krediti[c("program.studentov","program.studentov.ime","STOPNJA")], function(x) length(unique(x))) stopnja_program_podipl.PO.krediti.pred <- merge(test.po, stopnja_program_podipl.PO.krediti, by.x="student.program.ime",by.y="program.studentov.ime", all=TRUE) } program.22stopnja.PO.krediti <- aggregate(data.predmeti.PO[c(vars.predmet$cont$po,"predmet.ocena.krediti")], by=data.predmeti.PO[c("student.program.sifra","student.program.ime")], FUN=mean, na.rm=TRUE) program.22stopnja.PO.krediti <- cbind(program.22stopnja.PO.krediti, predmet.ocena.SKUPAJ=rowMeans(program.22stopnja.PO.krediti[vars.predmet$cont$po[-1]], na.rm=TRUE)) stopnja_program_podipl.PO.krediti1 <- stopnja_program_podipl.PO.krediti colnames(stopnja_program_podipl.PO.krediti1)[4] <- "N_anket" rownames(program.22stopnja.PO.krediti) <- program.22stopnja.PO.krediti[rownames(program.22stopnja.PO.krediti),"student.program.ime"] if (nrow(program.22stopnja.PO.krediti) > 0 & nrow(stopnja_program_podipl.PO.krediti1) > 0) { program_BD_po.podipl.krediti <- merge(stopnja_program_podipl.PO.krediti1, program.22stopnja.PO.krediti, by.x=c("program.studentov","program.studentov.ime"), by.y=c("student.program.sifra","student.program.ime"), all=TRUE, sort=FALSE) program_BD_po.podipl.krediti <- subset(program_BD_po.podipl.krediti, STOPNJA==2) } else {program_BD_po.podipl.krediti <- stopnja_program_podipl.PO.krediti1} if (nrow(program_BD_po.podipl.krediti) > 0 & !is.null(program_BD_po.podipl.krediti)) { program_BD_po.podipl.krediti <- program_BD_po.podipl.krediti[, !(colnames(program_BD_po.podipl.krediti) %in% c("STOPNJA"))] program_BD_po.podipl.krediti <- program_BD_po.podipl.krediti[c(1,2,3,4,5,6,7,9,8)] st.programov3 <- length(program_BD_po.podipl.krediti$program.studentov.ime) if (sortByAverage) { rownames(program_BD_po.podipl.krediti) <- formatProgImena(program_BD_po.podipl.krediti$program.studentov.ime, program_BD_po.podipl.krediti$predmet.ocena.krediti) program_BD_po.podipl.krediti <- program_BD_po.podipl.krediti[order(program_BD_po.podipl.krediti$predmet.ocena.krediti, decreasing=TRUE), !(colnames(program_BD_po.podipl.krediti) %in% c("program.studentov", "program.studentov.ime"))] # sort and drop unneeded columns } else { # sort by name rownames(program_BD_po.podipl.krediti) <- program_BD_po.podipl.krediti$program.studentov.ime program_BD_po.podipl.krediti <- program_BD_po.podipl.krediti[order(as.character(sapply(rownames(program_BD_po.podipl.krediti))), decreasing=FALSE), !(colnames(program_BD_po.podipl.krediti) %in% c("program.studentov", "program.studentov.ime"))] # sort and drop unneeded columns } program_BD_po.podipl.krediti <- rbind(program_BD_po.podipl.krediti, c(colMeans(program_BD_po.podipl.krediti[1:1]), colMeans(program_BD_po.podipl.krediti[2:ncol(program_BD_po.podipl.krediti)], na.rm=TRUE))) program_BD_po.podipl.krediti <- formatNA(program_BD_po.podipl.krediti, decimalke=c(0,as.numeric(decimalno_mestoPO),decimalkeIzvSkupaj, as.numeric(vars.predmet$krediti$decimalke)), pobarvanka=c("NE", as.character(pobarvanka.PO),pobarvankaIzvSkupaj,vars.predmet$krediti$pobarvanka), na.repl=".") rownames(program_BD_po.podipl.krediti )[nrow(program_BD_po.podipl.krediti)] <- c(paste0("\\hline \\textbf{Povprečje ", fakulteta," (",st.programov3," programov)}")) colnames(program_BD_po.podipl.krediti ) <- latex.rotate(c("Št. predmetov", Hmisc::latexTranslate(as.character(imena_stolpcevPO)), "\\textbf{Skupaj}",as.character(vars.predmet$krediti$ime.kratko))) program_BD_po.podipl.krediti <- program_BD_po.podipl.krediti[c(1,3,4,5,6,2,7)] program_BD_po.podipl.krediti.tex <- capture.output(Hmisc::latex(program_BD_po.podipl.krediti, caption="Povprečja \\textbf{predmetov} po študijskih programih (anketa PO izpitu), sortirana po \\textbf{Ustreznost KT}", rowlabel="", file="", where="H", rowlabel.just="A{12cm}", multicol=FALSE, longtable=TRUE, lines.page=1000, insert.bottom=paste("{\\footnotesize \\textit{* {\\color{Orange}\\textbf{Oranžno}} so označena odstopanja ({\\color{Orange}\\textbf{2.4-2.6}}) in ({\\color{Orange}\\textbf{3.4-3.6}}), {\\color{BrickRed}\\textbf{rdeče}} pa odstopanja (pod {\\color{BrickRed}\\textbf{2.4}}) in (nad {\\color{BrickRed}\\textbf{3.6}}).}}"), col.just=c("c|",rep_len("c", length(imena_stolpcevPO[-1])),"|c","|c","c"))) } else {c( program_BD_po.podipl.krediti.tex <- "Ni ocen za izračun povprečja \\textbf{predmetov} po študijskih programih (anketa PO izpitu) sortirana po \\textbf{Ustreznost KT}") } ##################### ####################### #/LOČENI IZPISI ZA PRVO IN DRUGO STOPNJA/# vsota.izvajalcev <- povprecja.izvajalci.programi[povprecja.izvajalci.programi$"N_anket" >= minEnot, c("izvajalec.sifra", "program.studentov", "program.studentov.ime")] if (!is.null(vsota.izvajalcev)) { st.izvajalcev.fak1 <- aggregate(vsota.izvajalcev$izvajalec.sifra, by=vsota.izvajalcev[c("program.studentov","program.studentov.ime")], FUN=function(x) length(unique(x))) } ## #Poiščemo samo veljavne izvajalce po katerih bomo računali povprečja izv.vel <- data.izvajalci[data.izvajalci$veljavna,] izv.vel1 <- aggregate(izv.vel[vars.izvajalec$cont$vars], by=izv.vel[c("student.program.ime")], FUN=mean, na.rm=TRUE) izv.popv <- cbind(izv.vel1, izvajalec.ocena.SKUPAJ=rowMeans(izv.vel1[vars.izvajalec$cont$vars], na.rm=TRUE)) if (nrow(izv.predmet) > 0) { izv.predmet.skupaj <- merge(izv.popv, st.izvajalcev.fak1, by.x="student.program.ime",by.y="program.studentov.ime", all=TRUE) izv.predmet.skupaj <- izv.predmet.skupaj[c("x","student.program.ime","program.studentov",vars.izvajalec$cont$vars,"izvajalec.ocena.SKUPAJ")] if (sortByAverage) { rownames(izv.predmet.skupaj) <- formatProgImena(izv.predmet.skupaj$student.program.ime, izv.predmet.skupaj$izvajalec.ocena.SKUPAJ) izv.predmet.skupaj <- izv.predmet.skupaj[order(izv.predmet.skupaj$izvajalec.ocena.SKUPAJ, decreasing=TRUE), !(colnames(izv.predmet.skupaj) %in% c("program.studentov","student.program.ime"))] # sort and drop unneeded columns } else { # sort by name rownames(izv.predmet.skupaj) <- izv.predmet.skupaj$student.program.ime izv.predmet.skupaj <- izv.predmet.skupaj[order(as.character(sapply(rownames(izv.predmet.skupaj),titula.rm)), decreasing=FALSE), !(colnames(izv.predmet.skupaj) %in% c("program.studentov","student.program.ime"))] # sort and drop unneeded columns } izv.predmet.skupaj <- rbind(izv.predmet.skupaj, c(colMeans(izv.predmet.skupaj[1:1]), colMeans(izv.predmet.skupaj[2:ncol(izv.predmet.skupaj)], na.rm=TRUE))) izv.predmet.skupaj <- formatNA(izv.predmet.skupaj, decimalke=c(0,as.numeric(vars.izvajalec$cont$decimalke),decimalkeIzvSkupaj), pobarvanka=c("NE", as.character(vars.izvajalec$cont$pobarvanka),pobarvankaIzvSkupaj), na.repl=".") rownames(izv.predmet.skupaj )[nrow(izv.predmet.skupaj)] <- "\\hline \\textbf{Povprečje programov}" colnames(izv.predmet.skupaj ) <- latex.rotate(c("Št. izvajalcev", Hmisc::latexTranslate(as.character(vars.izvajalec$cont$ime.kratko)), "\\textbf{Skupaj}")) izv.predmet.skupaj.tex <- capture.output(Hmisc::latex(izv.predmet.skupaj, caption="Povprečja \\textbf{izvajalcev pri predmetih} po študijskih programih (anketa PRED izpitom), sortirana po \\textbf{Skupaj}", rowlabel="", file="", where="H", rowlabel.just="A{11cm}", multicol=FALSE, longtable=TRUE, lines.page=1000, insert.bottom=paste("{\\footnotesize \\textit{}}"), col.just=c("c|",rep_len("c", length(vars.izvajalec$cont$vars)),"|c"))) }else { izv.predmet.skupaj.tex <- NULL } ########################## ###IZPIS ZA IZVAJALCE PRI PREDMETIH (IPP) PRVA STOPNJA if (nrow(izv.predmet) > 0 & nrow(proggIZ.tmp) > 0) { stopnja_izvajalec.skupaj <- merge(proggIZ.tmp, progMeanIzv.fak1,by.x=c("program.studentov", "program.studentov.ime"), by.y=c("student.program.sifra", "student.program.ime"), all=TRUE, sort=FALSE) stopnja_izvajalec.skupaj <- stopnja_izvajalec.skupaj[c("x","program.studentov.ime","program.studentov",paste0(vars.izvajalec$cont$vars),"izvajalec.ocena.SKUPAJ")] stopnja_izvajalec.skupaj <- merge(stopnja_izvajalec.skupaj[c("x","program.studentov.ime","program.studentov",paste0(vars.izvajalec$cont$vars),"izvajalec.ocena.SKUPAJ")], stopnja_program[c("program.studentov.ime", "STOPNJA")], by="program.studentov.ime", sort=FALSE) dodiplomski_studij <- stopnja_izvajalec.skupaj stopnja_izvajalec.skupaj <- subset(stopnja_izvajalec.skupaj, STOPNJA==1) stopnja_izvajalec.skupaj <- stopnja_izvajalec.skupaj[, !(colnames(stopnja_izvajalec.skupaj) %in% c("STOPNJA"))] stopnja_izvajalec.skupaj <- stopnja_izvajalec.skupaj[c("x","program.studentov.ime","program.studentov",paste0(vars.izvajalec$cont$vars),"izvajalec.ocena.SKUPAJ")] #if (gregexpr(pattern = "Magistrski",stopnja_izvajalec.skupaj$program.studentov.ime)[[1]][1] == 1){ # stopnja_izvajalec.skupaj<-stopnja_izvajalec.skupaj[- grep("Magistrski", stopnja_izvajalec.skupaj$program.studentov.ime),] #} st.programov4 <- length(stopnja_izvajalec.skupaj$program.studentov.ime) } else {dodiplomski_studij$STOPNJA <- NULL} if (nrow(izv.predmet) > 0 & any(dodiplomski_studij$STOPNJA==1)) { if (sortByAverage) { rownames(stopnja_izvajalec.skupaj) <- formatProgImena(stopnja_izvajalec.skupaj$program.studentov.ime, stopnja_izvajalec.skupaj$izvajalec.ocena.SKUPAJ) stopnja_izvajalec.skupaj <- stopnja_izvajalec.skupaj[order(stopnja_izvajalec.skupaj$izvajalec.ocena.SKUPAJ, decreasing=TRUE), !(colnames(stopnja_izvajalec.skupaj) %in% c("program.studentov.ime", "program.studentov"))] # sort and drop unneeded columns } else { # sort by name rownames(stopnja_izvajalec.skupaj) <- stopnja_izvajalec.skupaj$program.studentov.ime stopnja_izvajalec.skupaj <- stopnja_izvajalec.skupaj[order(as.character(sapply(rownames(stopnja_izvajalec.skupaj), titula.rm)), decreasing=FALSE), !(colnames(stopnja_izvajalec.skupaj) %in% c("program.studentov.ime", "program.studentov"))] # sort and drop unneeded columns } stopnja_izvajalec.skupaj <- rbind(stopnja_izvajalec.skupaj, c(colMeans(stopnja_izvajalec.skupaj[1:1]), colMeans(stopnja_izvajalec.skupaj[2:ncol(stopnja_izvajalec.skupaj)], na.rm=TRUE))) stopnja_izvajalec.skupaj <- formatNA(stopnja_izvajalec.skupaj, decimalke=c(0,as.numeric(vars.izvajalec$cont$decimalke),decimalkeIzvSkupaj), pobarvanka=c("NE", as.character(vars.izvajalec$cont$pobarvanka),pobarvankaIzvSkupaj), na.repl=".") rownames(stopnja_izvajalec.skupaj )[nrow(stopnja_izvajalec.skupaj)] <- c(paste0("\\hline \\textbf{Povprečje ", fakulteta," (",st.programov4," programov)}")) colnames(stopnja_izvajalec.skupaj ) <- latex.rotate(c("Št. IPP", Hmisc::latexTranslate(as.character(vars.izvajalec$cont$ime.kratko)), "\\textbf{Skupaj}")) stopnja_izvajalec.skupaj.tex <- capture.output(Hmisc::latex(stopnja_izvajalec.skupaj, caption="Povprečja \\textbf{izvajalcev pri predmetih} po študijskih programih (anketa PRED izpitom), sortirana po \\textbf{Skupaj}", rowlabel="", file="", where="H", rowlabel.just="A{11cm}", multicol=FALSE, longtable=TRUE, lines.page=1000, insert.bottom=paste("{\\footnotesize \\textit{** »Št. IPP« - število vseh izvajalcev pri predmetih na določenem programu.}}"), col.just=c("c|",rep_len("c", length(vars.izvajalec$cont$vars)),"|c"))) } else {c( stopnja_izvajalec.skupaj.tex <- "Ni ocen za izračun povprečja \\textbf{izvajalcev pri predmetih} po študijskih programih (anketa PRED izpitom) sortirana po \\textbf{Skupaj}") } ###/IZPIS ZA IZVAJALCE PRI PREDMETIH (IPP) PRVA STOPNJA/### ###IZPIS ZA IZVAJALCE PRI PREDMETIH (IPP) DRUGA STOPNJA### if (nrow(izv.predmet) > 0) { stopnja_izvajalec.podipl <- merge(proggIZ.tmp, progMeanIzv.fak1,by.x=c("program.studentov", "program.studentov.ime"), by.y=c("student.program.sifra","student.program.ime"), all=TRUE, sort=FALSE) stopnja_izvajalec.podipl <- stopnja_izvajalec.podipl[c("x","program.studentov.ime","program.studentov",paste0(vars.izvajalec$cont$vars),"izvajalec.ocena.SKUPAJ")] stopnja_izvajalec.podipl <- merge(stopnja_izvajalec.podipl[c("x","program.studentov.ime","program.studentov", paste0(vars.izvajalec$cont$vars),"izvajalec.ocena.SKUPAJ")], stopnja_program[c("program.studentov.ime", "STOPNJA")], by="program.studentov.ime", sort=FALSE) podiplomski_studij <- stopnja_izvajalec.podipl stopnja_izvajalec.podipl <- subset(stopnja_izvajalec.podipl, STOPNJA==2) stopnja_izvajalec.podipl <- stopnja_izvajalec.podipl[, !(colnames(stopnja_izvajalec.podipl) %in% c("STOPNJA"))] stopnja_izvajalec.podipl <- stopnja_izvajalec.podipl[c("x","program.studentov.ime","program.studentov",paste0(vars.izvajalec$cont$vars),"izvajalec.ocena.SKUPAJ")] stopnja_izvajalec.podipl <- stopnja_izvajalec.podipl[!stopnja_izvajalec.podipl$program.studentov.ime == "Neznan program", ] st.programov5<-length(stopnja_izvajalec.podipl$program.studentov.ime) } else {podiplomski_studij <- NULL podiplomski_studij$STOPNJA <- NULL} if (nrow(izv.predmet) > 0 & any(podiplomski_studij$STOPNJA==2)) { if (sortByAverage) { rownames(stopnja_izvajalec.podipl) <- formatProgImena(stopnja_izvajalec.podipl$program.studentov.ime, stopnja_izvajalec.podipl$izvajalec.ocena.SKUPAJ) stopnja_izvajalec.podipl <- stopnja_izvajalec.podipl[order(stopnja_izvajalec.podipl$izvajalec.ocena.SKUPAJ, decreasing=TRUE), !(colnames(stopnja_izvajalec.podipl) %in% c("program.studentov.ime", "program.studentov"))] # sort and drop unneeded columns } else { # sort by name rownames(stopnja_izvajalec.podipl) <- stopnja_izvajalec.podipl$program.studentov.ime stopnja_izvajalec.podipl <- stopnja_izvajalec.podipl[order(as.character(sapply(rownames(stopnja_izvajalec.podipl), titula.rm)), decreasing=FALSE), !(colnames(stopnja_izvajalec.podipl) %in% c("program.studentov.ime", "program.studentov"))] # sort and drop unneeded columns } stopnja_izvajalec.podipl <- rbind(stopnja_izvajalec.podipl, c(colMeans(stopnja_izvajalec.podipl[1:1]), colMeans(stopnja_izvajalec.podipl[2:ncol(stopnja_izvajalec.podipl)], na.rm=TRUE))) stopnja_izvajalec.podipl <- formatNA(stopnja_izvajalec.podipl, decimalke=c(0,as.numeric(vars.izvajalec$cont$decimalke),decimalkeIzvSkupaj), pobarvanka=c("NE", as.character(vars.izvajalec$cont$pobarvanka),pobarvankaIzvSkupaj), na.repl=".") rownames(stopnja_izvajalec.podipl )[nrow(stopnja_izvajalec.podipl)] <- c(paste0("\\hline \\textbf{Povprečje ", fakulteta," (",st.programov5," programov)}")) colnames(stopnja_izvajalec.podipl ) <- latex.rotate(c("Št. IPP", Hmisc::latexTranslate(as.character(vars.izvajalec$cont$ime.kratko)), "\\textbf{Skupaj}")) stopnja_izvajalec.podipl.tex <- capture.output(Hmisc::latex(stopnja_izvajalec.podipl, caption="Povprečja \\textbf{izvajalcev pri predmetih} po študijskih programih (anketa PRED izpitom), sortirana po \\textbf{Skupaj}", rowlabel="", file="", where="H", rowlabel.just="A{11cm}", multicol=FALSE, longtable=TRUE, lines.page=1000, insert.bottom=paste("{\\footnotesize \\textit{** »Št. IPP« - število vseh izvajalcev pri predmetih na določenem programu.}}"), col.just=c("c|",rep_len("c", length(vars.izvajalec$cont$vars)),"|c"))) } else {c( stopnja_izvajalec.podipl.tex <- "Ni ocen za izračun povprečja \\textbf{izvajalcev pri predmetih} po študijskih programih (anketa PRED izpitom) sortirana po \\textbf{Skupaj}") } ###/IZPIS ZA IZVAJALCE PRI PREDMETIH (IPP) DRUGA STOPNJA/### #####SKUPNE OCENE IZVAJALCEV PRI PROGRAMIH ZA PODIPLOMSKI ŠTUDIJ vsota.izvajalcev <- povprecja.izvajalci.programi[povprecja.izvajalci.programi$"N_anket" >= minEnot, c("izvajalec.sifra", "program.studentov", "program.studentov.ime")] if (!is.null(vsota.izvajalcev)) { st.izvajalcev.fak1 <- aggregate(vsota.izvajalcev$izvajalec.sifra, by=vsota.izvajalcev[c("program.studentov","program.studentov.ime")], FUN=function(x) length(unique(x))) } stopnja_izvajalec <- merge(povprecja.izvajalci[c("predmet.sifra","STOPNJA")], povprecja.izvajalci.programi[c("predmet.sifra",paste0(vars.izvajalec$cont$vars,"_mean"), "program.studentov","program.studentov.ime","N_anket")], by="predmet.sifra", sort=FALSE) stopnja_izvajalec <- stopnja_izvajalec[stopnja_izvajalec$N_anket >=minEnot, c("predmet.sifra","program.studentov","program.studentov.ime","STOPNJA")] if (nrow(stopnja_izvajalec) > 0) { stopnja_izvajalec <- aggregate(stopnja_izvajalec$predmet.sifra, by=stopnja_izvajalec[c("program.studentov","program.studentov.ime","STOPNJA")], function(x) length(unique(x))) } else {stopnja_izvajalec <- stopnja_izvajalec} if (!is.null(st.izvajalcev.fak1)) { stopnja_izvajalec.1_stopnja <- merge(st.izvajalcev.fak1, stopnja_izvajalec, by="program.studentov.ime", all=TRUE) } if (!is.null(st.izvajalcev.fak1)){ program_izvajalcev <- merge(st.izvajalcev.fak1,progMeanIzv.fak1, by.x=c("program.studentov","program.studentov.ime"), by.y=c("student.program.sifra","student.program.ime"), all=TRUE, sort=FALSE) rownames(program_izvajalcev) <- program_izvajalcev[rownames(program_izvajalcev),"program.studentov.ime"] ##Izločimo Neznan program program_izvajalcev <- program_izvajalcev[!program_izvajalcev$program.studentov.ime == "Neznan program", ] } else {program_izvajalcev <- vsota.izvajalcev} if (nrow(program_izvajalcev) > 0) { program_izvajalcev.skupaj <- merge(program_izvajalcev, stopnja_izvajalec.1_stopnja, by.x=c("program.studentov","program.studentov.ime"), by.y=c("program.studentov.x","program.studentov.ime"), all=TRUE, sort=FALSE) program_izvajalcev.skupaj <- subset(program_izvajalcev.skupaj, STOPNJA==2) } else {program_izvajalcev.skupaj <- program_izvajalcev} if (nrow(program_izvajalcev.skupaj) > 0 & !is.null(program_izvajalcev.skupaj)) { program_izvajalcev.skupaj <- program_izvajalcev.skupaj[, !(colnames(program_izvajalcev.skupaj) %in% c("program.studentov", "STOPNJA", "N_anket.y", "N_anket", "x.x", "program.studentov.y", "STOPNJA.y", "x.y","izvajalec.sifra","STOPNJA.x"))] if (sortByAverage) { rownames(program_izvajalcev.skupaj) <- formatProgImena(program_izvajalcev.skupaj$program.studentov.ime, program_izvajalcev.skupaj$izvajalec.ocena.SKUPAJ) program_izvajalcev.skupaj <- program_izvajalcev.skupaj[order(program_izvajalcev.skupaj$izvajalec.ocena.SKUPAJ, decreasing=TRUE), !(colnames(program_izvajalcev.skupaj) %in% c("program.studentov.ime","program.studentov", "STOPNJA", "N_anket.y", "N_anket", "x.x", "program.studentov.y", "STOPNJA.y","x.y", "izvajalec.sifra","STOPNJA.x"))] # sort and drop unneeded columns } else { # sort by name rownames(program_izvajalcev.skupaj) <- program_izvajalcev.skupaj$program.studentov.ime program_izvajalcev.skupaj <- program_izvajalcev.skupaj[order(as.character(sapply(rownames(program_izvajalcev.skupaj), titula.rm)), decreasing=FALSE), !(colnames(program_izvajalcev.skupaj) %in% c("program.studentov.ime","program.studentov", "STOPNJA", "N_anket.y", "N_anket", "x.x", "program.studentov.y", "STOPNJA.y","x.y", "izvajalec.sifra","STOPNJA.x"))] # sort and drop unneeded columns } program_izvajalcev.skupaj <- rbind(program_izvajalcev.skupaj, c(colMeans(program_izvajalcev.skupaj[1:1]), colMeans(program_izvajalcev.skupaj[2:ncol(program_izvajalcev.skupaj)], na.rm=TRUE))) program_izvajalcev.skupaj <- formatNA(program_izvajalcev.skupaj, decimalke=c(0,as.numeric(vars.izvajalec$cont$decimalke),decimalkeIzvSkupaj), pobarvanka=c("NE", as.character(vars.izvajalec$cont$pobarvanka),pobarvankaIzvSkupaj), na.repl=".") rownames(program_izvajalcev.skupaj )[nrow(program_izvajalcev.skupaj)] <- "\\hline \\textbf{Povprečje programov}" colnames(program_izvajalcev.skupaj ) <- latex.rotate(c("Št. izvajalcev", Hmisc::latexTranslate(as.character(vars.izvajalec$cont$ime.kratko)), "\\textbf{Skupaj}")) program_izvajalcev.skupaj.tex <- capture.output(Hmisc::latex(program_izvajalcev.skupaj, caption="Povprečja \\textbf{izvajalcev} po študijskih programih (anketa PRED izpitom), sortirana po \\textbf{Skupaj}", rowlabel="", file="", where="H", rowlabel.just="A{11cm}", multicol=FALSE, longtable=TRUE, lines.page=1000, insert.bottom=paste("{\\footnotesize \\textit{}}"), col.just=c("c|",rep_len("c", length(vars.izvajalec$cont$vars)),"|c"))) }else { program_izvajalcev.skupaj.tex <- "Ni ocen." } #//####SKUPNE OCENE IZVAJALCEV PRI PROGRAMIH ZA PODIPLOMSKI ŠTUDIJ //# #####SKUPNE OCENE IZVAJALCEV PRI PROGRAMIH ZA DODIPLOMSKI ŠTUDIJ (IPP) vsota.izvajalcev.dodi <- povprecja.izvajalci.programi[povprecja.izvajalci.programi$"N_anket" >= minEnot, c("izvajalec.sifra", "program.studentov", "program.studentov.ime")] if (nrow(vsota.izvajalcev.dodi) > 0) { st.izvajalcev.fak2 <- aggregate(vsota.izvajalcev.dodi$izvajalec.sifra, by=vsota.izvajalcev.dodi[c("program.studentov","program.studentov.ime")], FUN=function(x) length(unique(x))) } stopnja_izvajalec.dodi <- merge(povprecja.izvajalci[c("predmet.sifra","STOPNJA")], povprecja.izvajalci.programi[c("predmet.sifra",paste0(vars.izvajalec$cont$vars,"_mean"), "program.studentov","program.studentov.ime","N_anket")], by="predmet.sifra", sort=FALSE) stopnja_izvajalec.dodi <- stopnja_izvajalec.dodi[stopnja_izvajalec.dodi$N_anket >=minEnot, c("predmet.sifra","program.studentov","program.studentov.ime","STOPNJA")] if (nrow(stopnja_izvajalec.dodi) > 0) { stopnja_izvajalec.dodi <- aggregate(stopnja_izvajalec.dodi$predmet.sifra, by=stopnja_izvajalec.dodi[c("program.studentov","program.studentov.ime","STOPNJA")], function(x) length(unique(x))) stopnja_izvajalec.dodi.1_stopnja <- merge(st.izvajalcev.fak2, stopnja_izvajalec.dodi, by="program.studentov.ime", all=TRUE) program_izvajalcev.dodi <- merge(st.izvajalcev.fak2,progMeanIzv.fak1, by.x=c("program.studentov","program.studentov.ime"), by.y=c("student.program.sifra","student.program.ime"), all=TRUE, sort=FALSE) rownames(program_izvajalcev.dodi) <- program_izvajalcev.dodi[rownames(program_izvajalcev.dodi),"program.studentov.ime"] } else {program_izvajalcev.dodi <- vsota.izvajalcev.dodi} if (nrow(program_izvajalcev.dodi) > 0) { program_izvajalcev.dodi.skupaj <- merge(program_izvajalcev.dodi, stopnja_izvajalec.dodi.1_stopnja, by.x=c("program.studentov","program.studentov.ime"), by.y=c("program.studentov.x","program.studentov.ime"), all=TRUE, sort=FALSE) program_izvajalcev.dodi.skupaj<-subset(program_izvajalcev.dodi.skupaj, STOPNJA==1) } else {program_izvajalcev.dodi.skupaj <- vsota.izvajalcev.dodi} if (nrow(program_izvajalcev.dodi.skupaj) > 0 & !is.null(program_izvajalcev.dodi.skupaj)) { program_izvajalcev.dodi.skupaj <- program_izvajalcev.dodi.skupaj[, !(colnames(program_izvajalcev.dodi.skupaj) %in% c("program.studentov", "STOPNJA", "N_anket.y", "N_anket", "x.x", "program.studentov.y", "STOPNJA.y","x.y","izvajalec.sifra","STOPNJA.x"))] if (sortByAverage) { rownames(program_izvajalcev.dodi.skupaj) <- formatProgImena(program_izvajalcev.dodi.skupaj$program.studentov.ime, program_izvajalcev.dodi.skupaj$izvajalec.ocena.SKUPAJ) program_izvajalcev.dodi.skupaj <- program_izvajalcev.dodi.skupaj[order(program_izvajalcev.dodi.skupaj$izvajalec.ocena.SKUPAJ, decreasing=TRUE), !(colnames(program_izvajalcev.dodi.skupaj) %in% c("program.studentov.ime","program.studentov", "STOPNJA", "N_anket.y", "N_anket", "x.x", "program.studentov.y", "STOPNJA.y","x.y","izvajalec.sifra","STOPNJA.x"))] # sort and drop unneeded columns } else { # sort by name rownames(program_izvajalcev.dodi.skupaj) <- program_izvajalcev.dodi.skupaj$program.studentov.ime program_izvajalcev.dodi.skupaj <- program_izvajalcev.dodi.skupaj[order(as.character(sapply(rownames(program_izvajalcev.dodi.skupaj), titula.rm)), decreasing=FALSE), !(colnames(program_izvajalcev.dodi.skupaj) %in% c("program.studentov.ime","program.studentov", "STOPNJA", "N_anket.y", "N_anket", "x.x", "program.studentov.y", "STOPNJA.y","x.y","izvajalec.sifra","STOPNJA.x"))] # sort and drop unneeded columns } program_izvajalcev.dodi.skupaj <- rbind(program_izvajalcev.dodi.skupaj, c(colMeans(program_izvajalcev.dodi.skupaj[1:1]), colMeans(program_izvajalcev.dodi.skupaj[2:ncol(program_izvajalcev.dodi.skupaj)], na.rm=TRUE))) program_izvajalcev.dodi.skupaj <- formatNA(program_izvajalcev.dodi.skupaj, decimalke=c(0,as.numeric(vars.izvajalec$cont$decimalke),decimalkeIzvSkupaj), pobarvanka=c("NE", as.character(vars.izvajalec$cont$pobarvanka),pobarvankaIzvSkupaj), na.repl=".") rownames(program_izvajalcev.dodi.skupaj )[nrow(program_izvajalcev.dodi.skupaj)] <- "\\hline \\textbf{Povprečje programov}" colnames(program_izvajalcev.dodi.skupaj ) <- latex.rotate(c("Št. izvajalcev", Hmisc::latexTranslate(as.character(vars.izvajalec$cont$ime.kratko)), "\\textbf{Skupaj}")) program_izvajalcev.dodi.skupaj.tex <- capture.output(Hmisc::latex(program_izvajalcev.dodi.skupaj, caption="Povprečja \\textbf{izvajalcev} po študijskih programih (anketa PRED izpitom), sortirana po \\textbf{Skupaj}", rowlabel="", file="", where="H", rowlabel.just="A{11cm}", multicol=FALSE, longtable=TRUE, lines.page=1000, insert.bottom=paste("{\\footnotesize \\textit{}}"), col.just=c("c|",rep_len("c", length(vars.izvajalec$cont$vars)),"|c"))) }else { program_izvajalcev.dodi.skupaj.tex <- "Ni ocen." } #//####SKUPNE OCENE IZVAJALCEV PRI PROGRAMIH ZA DODIPLOMSKI ŠTUDIJ //# ## //OCENE PROGRAMOV PO PREDMETIH// ## } else { izbor.predmeti.pred.redni.tex <- "Ni ocen." izbor.predmeti.pred.izredni.tex <- "Ni ocen." izbor.predmeti.po.redni.tex <- "Ni ocen." izbor.predmeti.po.izredni.tex <- NULL izbor.predmeti.po.redni.krediti.tex<- "Ni ocen." izbor.predmeti.po.izredni.krediti.tex <- "Ni ocen." progMeanPRED.fak.skupaj.tex <- "Ni ocen." progMeanPO.fak.skupaj.tex <- "Ni ocen." izbor.predmeti.praksa.tex <- "Ni ocen." izv.predmet.skupaj.tex <- "Ni ocen." program_BD_pred.skupaj.tex<- "Ni ocen." program_BD_po.skupaj.tex<- "Ni ocen." program_BD_po.podipl.tex <- "Ni ocen." program_BD_pred.podipl.tex <- "Ni ocen." stopnja_izvajalec.skupaj.tex<- "Ni ocen." stopnja_izvajalec.podipl.tex <- "Ni ocen." program_izvajalcev.skupaj.tex <- "Ni ocen." program_izvajalcev.dodi.skupaj.tex <- "Ni ocen." program_BD_po.podipl.krediti.tex <- "Ni ocen." } ## /course averages/ ## ################## # GENERIRANJE PDF# ################## tex.glava <- scan("Evalvacija/latexkosi/a-glava-program.tex", character(0), sep="\n", quiet=TRUE, encoding='UTF-8') tex.glava <- gsub(pattern='!logo!', replacement=Hmisc::latexTranslate(logo), x=tex.glava) # Logo fakultete tex.glava <- gsub(pattern='!leto!', replacement=Hmisc::latexTranslate(semester.leto), x=tex.glava) # Študijsko leto tex.glava <- gsub(pattern='!encoding_r!', tolower(gsub("-","",localeToCharset(locale=Sys.getlocale("LC_CTYPE")))), x=tex.glava) tex.glava <- gsub(pattern='!naslov!', replacement=Hmisc::latexTranslate(ime.fakultete), x=tex.glava) # Naslov poročila na prvi strani tex.noga <- scan("Evalvacija/latexkosi/z-noga.tex", character(0), sep="\n", quiet=TRUE) Rdirektorij <- getwd() # Povprečja izvajalcev fakultete, ki ga nato zapišemo v podatkovni okvir izbor.tex izvajalci.tex<- c("\\chapter{Povprečja po izvajalcih}", paste("Pri izračunu povprečij za izvajalce imajo vsi predmeti (redni in izredni) enako težo, ne glede na število študentov. V stolpcu \\guillemotright Št. predmetov\\guillemotleft \\ je število vseh predmetov izvajalca, kjer so na anketo odgovarjali vsaj", minEnot, "študenti. Ocene pod 4.0 so obarvane {\\color{Orange}\\textbf{oranžno}}, ocene pod 3.0 pa {\\color{BrickRed}\\textbf{rdeče}}. Podrobnosti so v metodoloških navodilih na koncu poročila in na \\url{http://ul.1ka.si/metodologija}."), izbor.izvajalci.skupaj.tex) ## //Povprečja izvajalcev fakultete// ## # Posamezne latex tabele sestavimo v celoto <- izbor.tex, na podalgi katere nastane PDF poročilo izbor.tex <- c( "\\chapter{Redni študij}","\\renewcommand{\\leftmark}{Predmeti - redni študij}", paste("Prikazana so povprečja za ocene komponent na skalah 1-5 za vse predmete z vsaj 4 odgovori. Povprečja pod 4.0 so obarvana {\\color{Orange}\\textbf{oranžno}}, povprečja pod 3.0 pa {\\color{BrickRed}\\textbf{rdeče}}. Nizko število enot in neugodne stopnje sodelovanja so označene z enojnim oklepajem () oziroma z dvojnim oklepajem (()). Podrobnosti so v metodoloških navodilih na koncu poročila in na \\url{http://ul.1ka.si/metodologija}, kjer se nahajajo tudi vprašalniki."), "\\section{Predmeti}", "\\subsection{Anketa PRED izpitom}", izbor.predmeti.pred.redni.tex, "\\newpage","\\subsection{Anketa PO izpitu}", izbor.predmeti.po.redni.tex, "\\newpage", izbor.predmeti.po.redni.krediti.tex,"\\newpage", "\\renewcommand{\\leftmark}{Izvajalci pri predmetih - redni študij}", "\\section{Izvajalci pri predmetih}", izbor.izvajalci.redni.tex, "\\chapter{Izredni študij}","\\renewcommand{\\leftmark}{Predmeti - izredni študij}", if (izbor.predmeti.pred.izredni.tex != "Ni ocen." && !is.null(izbor.predmeti.po.izredni.tex) && izbor.izvajalci.izredni.tex != "Ni ocen."){ c("\\section{Predmeti}","\\subsection{Anketa PRED izpitom}", izbor.predmeti.pred.izredni.tex, "\\newpage","\\subsection{Anketa PO izpitu}", izbor.predmeti.po.izredni.tex,"\\newpage", izbor.predmeti.po.izredni.krediti.tex, "\\newpage", "\\renewcommand{\\leftmark}{Izvajalci pri predmetih - izredni študij}", "\\section{Izvajalci pri predmetih}", izbor.izvajalci.izredni.tex) } else {"Ni ocen za izredni študij."},"\\newpage", "\\renewcommand{\\leftmark}{Povprečja po izvajalcih}", izvajalci.tex, "\\chapter{Študijska praksa}","\\renewcommand{\\leftmark}{Študijska praksa}", paste("Za evalvacijo študijske prakse, velja enaka metodologija kot za anketo PO izpitu, le komponente (vprašanja) so bile specifične. Podrobnosti so na \\url{http://ul.1ka.si/praksa}."), izbor.predmeti.praksa.tex, "\\newpage", "\\chapter{Povprečja po študijskih programih}","\\renewcommand{\\leftmark}{Študijski programi}", paste("Izračunana so povprečja po vseh predmetih (oziroma po vseh izvedbah pri predmetih), rednih in izrednih, ki so jih ocenjevali študenti določenega študijskega programa. Predmeti z veliko in malo študenti imajo enako težo. V stolpcu \\guillemotright Št. predmetov\\guillemotleft \\ je skupno število predmetov (oziroma izvajalcev pri predmetih), kjer so odgovarjali vsaj", minEnot, "študenti. Med predmete določenega programa so vključeni tudi prosto izbirni predmeti (oziroma izvajalci pri predmetih) drugim programov (če so jih izbrali študenti). Opozorilo: V primeru, da je zaradi majhnega števila enot v oceno programa vključeno malo predmetov (npr. 1 ali 2) potem so take ocene manj natančne."), "\\section{Dodiplomski študij}", program_BD_pred.skupaj.tex,"\\newpage",program_BD_po.skupaj.tex,"\\newpage",program_BD_po.skupaj.krediti.tex, "\\newpage",stopnja_izvajalec.skupaj.tex,"\\newpage","\\section{Podiplomski študij}",program_BD_pred.podipl.tex, "\\newpage",program_BD_po.podipl.tex,"\\newpage",program_BD_po.podipl.krediti.tex,"\\newpage", stopnja_izvajalec.podipl.tex,"\\newpage") # Posamezne latex tabele sestavimo v celoto # Sestavimo LATEX DOKUMENT, KI GA NATO ZAPIŠEMO V PDF: GLAVA(tex.glava), NAŠE VREDNOSTI OZ LATEX TABELE S TEKSTOM (izbor.tex), # METODOLOŠKO POJASNILO NA KONCU (tex.okvir) in zaključim dokument z tex.noga tex.izbor <- c(tex.glava,"\\setlength{\\tabcolsep}{4pt}", izbor.tex,"\\newpage", "\\renewcommand{\\leftmark}{Metodološko pojasnilo}", tex.okvir, tex.noga) tex.izbor <- gsub('(continued)', '(nadaljevanje)', tex.izbor, fixed=TRUE) # Ker uporabljamo ukaz LONGTABLE, se pri lomljenju tabel pojavlja # angleška beseda continued, ki jo zamenjanjamo z besedo nadaljevanje. if (sortByAverage) {sortiranjetext <- "po_povprecju"} else {sortiranjetext <- "po_imenih"} # Ime PDF datoteke_ Fakultete_slupaj po povprečju setwd(paste(Rdirektorij, "Evalvacija/results", sep="/")) # Outputs the objects, concatenating the representations. cat performs much less conversion than print. cat(tex.izbor, file=paste0("fakulteta_skupaj_", sortiranjetext,"_", fakulteta, ".tex"), sep="\n") # ZAPIŠEMO tex format v PDF tools::texi2pdf(file=paste0("fakulteta_skupaj_", sortiranjetext,"_", fakulteta, ".tex"), quiet=TRUE, clean=TRUE) setwd(Rdirektorij)