# 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] # # //1KA strežnik// # # # # run first # source("Evalvacija/R/koda.r") # Ali naj generira poročila oz. tabele kjer so povprečja izračunana na podlagi vsh študentov fakultete # ali pa povprečja, ki so izračunana na podalgi ocen študentov, ki so vpisanih v določenen študijski program # Trenutno allstudents ne uporabljamo, ker računamo povprečja programov glede na študente določenega programa allstudents <- FALSE sortByAverage <- TRUE # if true sort by average, else by name sortbykrediti <- TRUE # if true sort by krediti (izbor.predmeti.po.redni.krediti, izbor.predmeti.po.izredni.krediti) # Start with making latex files programi.tex <- NULL # Na koncu bomo v vektor zapisali vrednosti določenega programa for (program in programi$student.program.sifra) { ime.programa <- Hmisc::latexTranslate(programi[programi$student.program.sifra==program,"student.program.ime"]) programi.imena.stopnja <- programi.imena[programi.imena$ID==program,c("ID","Stopnja","Naziv" )] ## lecturer total programme averages ## # Poročila delamo samo za študijske programe, kjer je bilo število anket večje ali enako 4. program.izvajalci.skupaj.data <- subset(povprecja.izvajalci.programi, program.studentov == program & N_anket >= minEnot) if (nrow(program.izvajalci.skupaj.data) > 0) { program.izvajalci.skupaj <- aggregate(program.izvajalci.skupaj.data[c(paste0(vars.izvajalec$cont$vars,"_mean"),"izvajalec.ocena.SKUPAJ")], by=program.izvajalci.skupaj.data[c("izvajalec.sifra", "NAZIV.PEDAGOGA")], FUN=mean, na.rm=TRUE) st.predmetov <- as.data.frame(table(program.izvajalci.skupaj.data$izvajalec.sifra)) # Število predmetov izvajalca združimo z ocenami izvajalca program.izvajalci.skupaj <- merge(st.predmetov, program.izvajalci.skupaj, by.x="Var1", by.y="izvajalec.sifra", all=TRUE, sort=FALSE) # Poimenovanje in rangiranje imen vrstic izvajalcev glede na ime izvajalca (NAZIV.PEDAGOGA) in glede na skupno oceno izvajalca # formatProgImena funkcija definirana v skuirpti funkcije.r rownames(program.izvajalci.skupaj) <- formatProgImena(program.izvajalci.skupaj$NAZIV.PEDAGOGA, program.izvajalci.skupaj$izvajalec.ocena.SKUPAJ) # Sortiramo ocene in odstranimo nepotrebne stolpce program.izvajalci.skupaj <- program.izvajalci.skupaj[order(program.izvajalci.skupaj$izvajalec.ocena.SKUPAJ, decreasing=TRUE), !(colnames(program.izvajalci.skupaj) %in% c("Var1", "NAZIV.PEDAGOGA"))] # sort and drop unneeded columns # Združimo ocene oz. povprečja izvajalcev z izračunanimi povprečji izvajalcev po stolpcih določenega programa program.izvajalci.skupaj <- rbind(program.izvajalci.skupaj, c("--", colMeans(program.izvajalci.skupaj[2:ncol(program.izvajalci.skupaj)], na.rm=TRUE)), c("--", vars.izvajalec$cont$meansFDV)) # Barvanje ocen program.izvajalci.skupaj <- formatNA(program.izvajalci.skupaj, decimalke=c(0,as.numeric(vars.izvajalec$cont$decimalke),decimalkeIzvSkupaj), pobarvanka=c("NE",as.character(vars.izvajalec$cont$pobarvanka),pobarvankaIzvSkupaj), na.repl=".") # Število vshe izvajalcev programa (na koncu odštejemo dve vrednosti, ker v tabelo dodamo dve vrstici: Povprečje programa, in povprečje Fakultete) vsota_izvajalcev_programa <- sum(program.izvajalci.skupaj$izvajalec.ocena.SKUPAJ != ".") - 2 # Imena vrstric tabele rownames(program.izvajalci.skupaj)[(nrow(program.izvajalci.skupaj)-1):nrow(program.izvajalci.skupaj)] <- c(paste0("\\hline \\textbf{Povprečje programa (",vsota_izvajalcev_programa, " izvajalcev)}"), paste0("\\hline \\textbf{Povprečje ", fakulteta, " (", kvantili.izvajalci.st, " predmetov)}")) # Nova imena stolpcev v tabeli (preimenujemo stolpce) in rotacija 90 stopinj latex.rotate colnames(program.izvajalci.skupaj) <- latex.rotate(c("Št. predmetov", Hmisc::latexTranslate(as.character(vars.izvajalec$cont$ime.kratko)), "\\textbf{Skupaj}")) # Generiranje latex tabele program.izvajalci.skupaj.tex <- capture.output(Hmisc::latex(program.izvajalci.skupaj, caption="Povprečja \\textbf{izvajalcev}, sortirana po \\textbf{Skupaj}", 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.}}"), col.just=c("c|",rep_len("c", length(vars.izvajalec$cont$vars)),"|c"))) } else { program.izvajalci.skupaj.tex <- "Ni ocen." } ## //lecturer total programme averages// ## ## lecturer total averages ## # Povprečja izvajalcev program.izvajalci <- povprecja.izvajalci[povprecja.izvajalci[paste0("program_studenta_",program)] >= minEnot,] if (nrow(program.izvajalci) > 0) { program.izvajalci.skupaj.vsi <- aggregate(program.izvajalci[c(paste0(vars.izvajalec$cont$vars,"_mean"),"izvajalec.ocena.SKUPAJ")], by=program.izvajalci[c("izvajalec.sifra", "NAZIV.PEDAGOGA")], FUN=mean, na.rm=TRUE) st.predmetov <- as.data.frame(table(program.izvajalci$izvajalec.sifra)) program.izvajalci.skupaj.vsi <- merge(st.predmetov, program.izvajalci.skupaj.vsi, by.x="Var1", by.y="izvajalec.sifra", all=TRUE, sort=FALSE) rownames(program.izvajalci.skupaj.vsi) <- formatProgImena(program.izvajalci.skupaj.vsi$NAZIV.PEDAGOGA, program.izvajalci.skupaj.vsi$izvajalec.ocena.SKUPAJ) program.izvajalci.skupaj.vsi <- program.izvajalci.skupaj.vsi[order(program.izvajalci.skupaj.vsi$izvajalec.ocena.SKUPAJ, decreasing=TRUE), !(colnames(program.izvajalci.skupaj.vsi) %in% c("Var1", "NAZIV.PEDAGOGA"))] # sort and drop unneeded columns # program.izvajalci.skupaj.vsi <- rbind(program.izvajalci.skupaj.vsi, c("--", colMeans(program.izvajalci.skupaj.vsi[2:ncol(program.izvajalci.skupaj.vsi)], na.rm=TRUE)), c("--", vars.izvajalec$cont$meansFDV)) # Obarvanje vrednosti program.izvajalci.skupaj.vsi <- formatNA(program.izvajalci.skupaj.vsi, decimalke=c(0,as.numeric(vars.izvajalec$cont$decimalke),decimalkeIzvSkupaj), pobarvanka=c("NE",as.character(vars.izvajalec$cont$pobarvanka),pobarvankaIzvSkupaj), na.repl=".") # Imena vrstic rownames(program.izvajalci.skupaj.vsi)[(nrow(program.izvajalci.skupaj.vsi) -1 ):nrow(program.izvajalci.skupaj.vsi)] <- c("\\hline \\textbf{Povprečje programa (po pedagogih)}", paste0("\\hline \\textbf{Povprečje ", fakulteta, " (", kvantili.izvajalci.st, " predmetov)}")) # Imena stolpcev colnames(program.izvajalci.skupaj.vsi) <- latex.rotate(c("Št. predmetov", Hmisc::latexTranslate(as.character(vars.izvajalec$cont$ime.kratko)), "\\textbf{Skupaj}")) # Generiranje latex tabele program.izvajalci.skupaj.vsi.tex <- capture.output(Hmisc::latex(program.izvajalci.skupaj.vsi, caption="Skupne ocene izvajalcev", 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.}}"), col.just=c("c|",rep_len("c", length(vars.izvajalec$cont$vars)),"|c"))) ## /lecturer total averages/ ## ## lecturer course averages ## # Izvajalci pri predmetih (rownames(program.izvajalci) Ker želimo, da se v tabeli poleg imena izvajalca v okleapju izpiše tudi ime njegovega predmeta rownames(program.izvajalci) <- make.unique(paste0(sapply(povprecja.izvajalci[rownames(program.izvajalci),"NAZIV.PEDAGOGA"], titula.rm), " (", povprecja.izvajalci[rownames(program.izvajalci),"ime.predmeta"], ")")) # Dve ločeni tabeli: IPP redni in IPP izredni študij program.izvajalci.redni <- program.izvajalci[program.izvajalci$NACIN_STUDIJA == "1", c("ST_STUD","N_anket","sodelujocih.pct","zavrnjenih.pct", "neodzivnih.pct",paste0(vars.izvajalec$cont$vars,"_mean"),"izvajalec.ocena.SKUPAJ")] program.izvajalci.izredni <- program.izvajalci[program.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 - all students if (nrow(program.izvajalci.redni) > 0) { if (allstudents) { if (any(is.na(program.izvajalci.redni))) {opomba <- c(paste(". Podatek ni prikazan zaradi majhnega števila enot.", "\\newline - Podatek je manj pomemben ali težko izračunljiv.")) } else {opomba <- "- Podatek je manj pomemben ali težko izračunljiv."} program.izvajalci.redni <- program.izvajalci.redni[order(program.izvajalci.redni$izvajalec.ocena.SKUPAJ, decreasing=TRUE),] rownames(program.izvajalci.redni) <- formatProgImena(rownames(program.izvajalci.redni), program.izvajalci.redni$izvajalec.ocena.SKUPAJ) program.izvajalci.redni <- rbind(program.izvajalci.redni, colMeans(program.izvajalci.redni, na.rm=TRUE), c("--", "--", "--", "--", "--", vars.izvajalec$cont$meansFDV)) program.izvajalci.redni <- formatNA(program.izvajalci.redni, decimalke=c(0,0,0,0,0,as.numeric(vars.izvajalec$cont$decimalke),decimalkeIzvSkupaj), pobarvanka=c("NE","NE",FDVstopnjaPobarvanka$skupaj,"NE","NE", as.character(vars.izvajalec$cont$pobarvanka),pobarvankaIzvSkupaj), na.repl=".") rownames(program.izvajalci.redni)[(nrow(program.izvajalci.redni)-1):nrow(program.izvajalci.redni)] <- c("\\hline \\textbf{Povprečje programa}", paste0("\\hline \\textbf{Povprečje ", fakulteta, " (", kvantili.izvajalci.st, " IPP)}")) colnames(program.izvajalci.redni) <- latex.rotate(c("Št. vpisanih", "Št. odgovorov", "\\% odgovorov", "\\% zavrnitev", "\\% nesodelujočih", Hmisc::latexTranslate(as.character(vars.izvajalec$cont$ime.kratko)), "\\textbf{Skupaj}")) program.izvajalci.redni.tex <- c(capture.output(Hmisc::latex(program.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(rep_len("c",4),"c|",rep_len("c", length(vars.izvajalec$cont$vars)),"|c"), rowlabel.just="A{8.9cm}", insert.bottom=paste0("{\\footnotesize \\textit{", opomba, "}}")))) } # redni - students of this programme program.izvajalci.redni.program <- subset(povprecja.izvajalci.programi, program.studentov == program & NACIN_STUDIJA == "1" & N_anket > 0)[c("N_anket",paste0(vars.izvajalec$cont$vars,"_mean"),"izvajalec.ocena.SKUPAJ")] st.ocen <- sum(!is.na(program.izvajalci.redni.program$izvajalec.ocena.SKUPAJ)) program.izvajalci.redni.program <- program.izvajalci.redni.program[order(program.izvajalci.redni.program$izvajalec.ocena.SKUPAJ, program.izvajalci.redni.program$N_anket, decreasing=TRUE),] if (any(is.na(program.izvajalci.redni.program))) {opomba <- c(paste(". Podatek ni prikazan zaradi majhnega števila enot.", "\\newline - Podatek je manj pomemben ali težko izračunljiv.")) } else {opomba <- "- Podatek je manj pomemben ali težko izračunljiv."} rownames(program.izvajalci.redni.program) <- make.unique(formatProgImena(paste0(sapply(povprecja.izvajalci.programi[rownames(program.izvajalci.redni.program), "NAZIV.PEDAGOGA"], titula.rm), " (", povprecja.izvajalci.programi[rownames(program.izvajalci.redni.program), "ime.predmeta"], ")"), program.izvajalci.redni.program$izvajalec.ocena.SKUPAJ)) # Združimo povprečja komponent IPP z povprečjem vsek IPP fakultete, ki ga dodamo na koncu tabele program.izvajalci.redni.program <- rbind(program.izvajalci.redni.program, colMeans(program.izvajalci.redni.program, na.rm=TRUE), c("--", vars.izvajalec$cont$meansFDV)) # Barvanje povprečij komponent program.izvajalci.redni.program1 <- formatNA1(program.izvajalci.redni.program[1:1], decimalke=0, pobarvanka=FDVstopnjaPobarvanka$n.anket, na.repl=".") program.izvajalci.redni.program2 <- formatNA(program.izvajalci.redni.program[2:8], decimalke=c(as.numeric(vars.izvajalec$cont$decimalke),decimalkeIzvSkupaj), pobarvanka=c(as.character(vars.izvajalec$cont$pobarvanka),pobarvankaIzvSkupaj), na.repl=".") program.izvajalci.redni.program <- cbind(program.izvajalci.redni.program1,program.izvajalci.redni.program2) # Ime vrstic v tabeli rownames(program.izvajalci.redni.program)[(nrow(program.izvajalci.redni.program)-1):nrow(program.izvajalci.redni.program)] <- c(paste0("\\hline \\textbf{Povprečje programa (", st.ocen, " predmetov)}"), paste0("\\hline \\textbf{Povprečje ", fakulteta, " (", kvantili.izvajalci.st, " IPP)}")) # Ime stolpcev v tabeli (preimenujemo stolpce) in rotacija 90 stopinj latex.rotate colnames(program.izvajalci.redni.program) <- latex.rotate(c("Št. odgovorov", Hmisc::latexTranslate(as.character(vars.izvajalec$cont$ime.kratko)), "\\textbf{Skupaj}")) program.izvajalci.redni.program.tex <- c(capture.output(Hmisc::latex(program.izvajalci.redni.program, 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|",rep_len("c", length(vars.izvajalec$cont$vars)),"|c"), rowlabel.just="A{12cm}", insert.bottom=paste0("{\\footnotesize \\textit{", opomba, "}}")))) } else { program.izvajalci.redni.tex <- "Ni ocen." program.izvajalci.redni.program.tex <- "Ni ocen." } # izredni - all students if (nrow(program.izvajalci.izredni) > 0) { if (allstudents) { if (any(is.na(program.izvajalci.izredni))) {opombaIzvIzredni <- c(paste(". Podatek ni prikazan zaradi majhnega števila enot.", "\\newline - Podatek je manj pomemben ali težko izračunljiv. "))} else {opombaIzvIzredni <- "- Podatek je manj pomemben ali težko izračunljiv."} program.izvajalci.izredni <- program.izvajalci.izredni[order(program.izvajalci.izredni$izvajalec.ocena.SKUPAJ, decreasing=TRUE),] rownames(program.izvajalci.izredni) <- formatProgImena(rownames(program.izvajalci.izredni), program.izvajalci.izredni$izvajalec.ocena.SKUPAJ) program.izvajalci.izredni <- rbind(program.izvajalci.izredni, colMeans(program.izvajalci.izredni, na.rm=TRUE), c("--", "--", "--", "--", "--", vars.izvajalec$cont$meansFDV)) program.izvajalci.izredni <- formatNA(program.izvajalci.izredni, decimalke=c(0,0,0,0,0,as.numeric(vars.izvajalec$cont$decimalke),decimalkeIzvSkupaj), pobarvanka=c("NE","NE",FDVstopnjaPobarvanka$skupaj,"NE","NE", as.character(vars.izvajalec$cont$pobarvanka),pobarvankaIzvSkupaj), na.repl=".") rownames(program.izvajalci.izredni)[(nrow(program.izvajalci.izredni)-1):nrow(program.izvajalci.izredni)] <- c("\\hline \\textbf{Povprečje programa}", paste0("\\hline \\textbf{Povprečje ", fakulteta, " (", kvantili.izvajalci.st, " predmetov)}")) colnames(program.izvajalci.izredni) <- latex.rotate(c("Št. vpisanih", "Št. odgovorov", "\\% odgovorov", "\\% zavrnitev", "\\% nesodelujoči", Hmisc::latexTranslate(as.character(vars.izvajalec$cont$ime.kratko)), "\\textbf{Skupaj}")) program.izvajalci.izredni.tex <- c(capture.output(Hmisc::latex(program.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(rep_len("c",4),"c|",rep_len("c", length(vars.izvajalec$cont$vars)),"|c"), rowlabel.just="A{8.9cm}", insert.bottom=paste0("{\\footnotesize \\textit{", opombaIzvIzredni, "}}")))) } # izredni - students of this programme program.izvajalci.izredni.program <- subset(povprecja.izvajalci.programi, program.studentov == program & NACIN_STUDIJA == "2" & N_anket > 0)[c("N_anket",paste0(vars.izvajalec$cont$vars,"_mean"),"izvajalec.ocena.SKUPAJ")] st.ocen <- sum(!is.na(program.izvajalci.izredni.program$izvajalec.ocena.SKUPAJ)) program.izvajalci.izredni.program <- program.izvajalci.izredni.program[order(program.izvajalci.izredni.program$izvajalec.ocena.SKUPAJ, program.izvajalci.izredni.program$N_anket, decreasing=TRUE),] if (any(is.na(program.izvajalci.izredni.program))) {opomba <- c(paste(". Podatek ni prikazan zaradi majhnega števila enot.", "\\newline - Podatek je manj pomemben ali težko izračunljiv.")) } else {opomba <- "- Podatek je manj pomemben ali težko izračunljiv."} rownames(program.izvajalci.izredni.program) <- formatProgImena(paste0(sapply(povprecja.izvajalci.programi[rownames(program.izvajalci.izredni.program), "NAZIV.PEDAGOGA"], titula.rm), " (", povprecja.izvajalci.programi[rownames(program.izvajalci.izredni.program), "ime.predmeta"], ")"), program.izvajalci.izredni.program$izvajalec.ocena.SKUPAJ) program.izvajalci.izredni.program <- rbind(program.izvajalci.izredni.program, colMeans(program.izvajalci.izredni.program, na.rm=TRUE), c("--", vars.izvajalec$cont$meansFDV)) program.izvajalci.izredni.program1 <- formatNA1(program.izvajalci.izredni.program[1:1], decimalke=0, pobarvanka=FDVstopnjaPobarvanka$n.anket, na.repl=".") program.izvajalci.izredni.program2 <- formatNA(program.izvajalci.izredni.program[2:8], decimalke=c(as.numeric(vars.izvajalec$cont$decimalke),decimalkeIzvSkupaj), pobarvanka=c(as.character(vars.izvajalec$cont$pobarvanka),pobarvankaIzvSkupaj), na.repl=".") program.izvajalci.izredni.program <- cbind(program.izvajalci.izredni.program1,program.izvajalci.izredni.program2) rownames(program.izvajalci.izredni.program)[(nrow(program.izvajalci.izredni.program)-1):nrow(program.izvajalci.izredni.program)] <- c(paste0("\\hline \\textbf{Povprečje programa (", st.ocen, " predmetov)}"), paste0("\\hline \\textbf{Povprečje ", fakulteta, " (", kvantili.izvajalci.st, " IPP)}")) colnames(program.izvajalci.izredni.program) <- latex.rotate(c("Št. odgovorov",Hmisc::latexTranslate(as.character(vars.izvajalec$cont$ime.kratko)), "\\textbf{Skupaj}")) program.izvajalci.izredni.program.tex <- c(capture.output(Hmisc::latex(program.izvajalci.izredni.program, 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|",rep_len("c", length(vars.izvajalec$cont$vars)),"|c"), rowlabel.just="A{12cm}", insert.bottom=paste0("{\\footnotesize \\textit{", opomba, "}}")))) } else { program.izvajalci.izredni.tex <- "Ni ocen." program.izvajalci.izredni.program.tex <- "Ni ocen." } } else { program.izvajalci.skupaj.vsi.tex <- "Ni ocen." program.izvajalci.redni.tex <- "Ni ocen." program.izvajalci.redni.program.tex <- "Ni ocen." program.izvajalci.izredni.tex <- "Ni ocen." program.izvajalci.izredni.program.tex <- "Ni ocen." } ## /lecturer course averages/ ## stopnja <- NULL ## course averages ## program.predmeti <- povprecja.predmeti[povprecja.predmeti[paste0("program_studenta_",program)] >= minEnot,] if (nrow(program.predmeti) > 0) { stopnja <- names(sort(table(program.predmeti$STOPNJA),decreasing=TRUE))[1] # faculty averages for courese tables # if (stopnja==1) { FDVmeansPredmet_BDorBPpred <- c(FDVpredmeti["1", c("ST_STUD","N_anket","sodelujocih.pct","zavrnjenih.pct","neodzivnih.pct")], vars.predmet$cont$meansFDV[c(vars.predmet$cont$pred, "povprecje.ocen.pred")]) FDVmeansPredmet_BDorBPpo <- c(FDVpredmeti["1", c("ST_STUD","N_anket_po_izpitu","sodelujocih.pct_po_izpitu", "zavrnjenih.pct_po_izpitu","neodzivnih.pct_po_izpitu")], vars.predmet$cont$meansFDV[c(vars.predmet$cont$po, "povprecje.ocen.po")], vars.predmet$krediti$meansFDV) } else if (stopnja==2) { FDVmeansPredmet_BDorBPpred <- c(FDVpredmeti["2", c("ST_STUD","N_anket","sodelujocih.pct","zavrnjenih.pct","neodzivnih.pct")], vars.predmet$cont$meansFDV[c(vars.predmet$cont$pred, "povprecje.ocen.pred")]) FDVmeansPredmet_BDorBPpo <- c(FDVpredmeti["2", c("ST_STUD","N_anket_po_izpitu","sodelujocih.pct_po_izpitu","zavrnjenih.pct_po_izpitu", "neodzivnih.pct_po_izpitu")], vars.predmet$cont$meansFDV[c(vars.predmet$cont$po, "povprecje.ocen.po")], vars.predmet$krediti$meansFDV) } else { FDVmeansPredmet_BDorBPpred <- c(FDVpredmeti["skupaj", c("ST_STUD","N_anket","sodelujocih.pct","zavrnjenih.pct","neodzivnih.pct")], vars.predmet$cont$meansFDV[c(vars.predmet$cont$pred, "povprecje.ocen.pred")]) FDVmeansPredmet_BDorBPpo <- c(FDVpredmeti["skupaj", c("ST_STUD","N_anket_po_izpitu","sodelujocih.pct_po_izpitu", "zavrnjenih.pct_po_izpitu","neodzivnih.pct_po_izpitu")], vars.predmet$cont$meansFDV[c(vars.predmet$cont$po, "povprecje.ocen.po")], vars.predmet$krediti$meansFDV) } #/faculty averages for courese tables /# # Imena vrstic v latex tabeli: imena predmetov rownames(program.predmeti) <- make.unique(povprecja.predmeti[rownames(program.predmeti),"ime.predmeta"]) # Ocene komponent predmetov rednega študija ANKETA PRED IZPITOM program.predmeti.pred.redni <- program.predmeti[program.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")] # Ocene komponent predmetov izrednega študija ANKETA PRED IZPITOM program.predmeti.pred.izredni <- program.predmeti[program.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")] # Ocene komponent predmetov rednega študija ANKETA PO IZPITU program.predmeti.po.redni <- program.predmeti[program.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")] # Ocene komponent predmetov rednega študija ANKETA PO IZPITU program.predmeti.po.izredni <- program.predmeti[program.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(program.predmeti.pred.redni) > 0) { # PRED - redni - all students if (allstudents) { if (any(is.na(program.predmeti.pred.redni))) {opomba <- c(paste(". Podatek ni prikazan zaradi majhnega števila enot.", "\\newline - Podatek je manj pomemben ali težko izračunljiv.")) } else {opomba <- "- Podatek je manj pomemben ali težko izračunljiv."} program.predmeti.pred.redni <- program.predmeti.pred.redni[order(program.predmeti.pred.redni$predmet.ocena.SKUPAJ.pred, program.predmeti.pred.redni$N_anket, decreasing=TRUE),] rownames(program.predmeti.pred.redni) <- formatProgImena(rownames(program.predmeti.pred.redni), program.predmeti.pred.redni$predmet.ocena.SKUPAJ.pred) program.predmeti.pred.redni <- rbind(program.predmeti.pred.redni, colMeans(program.predmeti.pred.redni, na.rm=TRUE), unlist(FDVmeansPredmet_BDorBPpred)) program.predmeti.pred.redni <- formatNA(program.predmeti.pred.redni, decimalke=c(0,0,0,0,0,as.numeric(vars.predmet$cont$decimalke[vars.predmet$cont$pred]), decimalkePredmSkupaj), pobarvanka=c("NE", "NE", "NE", "NE", "NE", vars.predmet$cont$pobarvanka[vars.predmet$cont$pred], povprecje.ocen.pred=pobarvankaPredmSkupaj), na.repl=".") rownames(program.predmeti.pred.redni)[(nrow(program.predmeti.pred.redni)-1):nrow(program.predmeti.pred.redni)] <- c("\\hline \\textbf{Povprečje programa (po predmetih)}", paste0("\\hline \\textbf{Povprečje ", fakulteta, " (", kvantili.predmeti.st.pred, " predmetov)}")) colnames(program.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}")) program.predmeti.pred.redni.tex <- c(capture.output(Hmisc::latex(program.predmeti.pred.redni, caption="Ocene predmetov - anketa PRED izpitom (redne izvedbe)", rowlabel="", file="", where="H", multicol=FALSE, longtable=TRUE, lines.page=1000, col.just=c(rep_len("c",4),"c|",rep_len("c", length(vars.predmet$cont$pred)),"|c"), rowlabel.just="A{8.1cm}", insert.bottom=paste0("{\\footnotesize \\textit{", opomba, "}}")))) } # PRED - redni - students of this programme program.predmeti.pred.redni.program <- subset(povprecja.predmeti.programi, program.studentov == program & NACIN_STUDIJA == "1" & N_anket > 0)[c("N_anket",paste0(vars.predmet$cont$pred,"_mean"),"predmet.ocena.SKUPAJ.pred")] st.predmetov <- sum(!is.na(program.predmeti.pred.redni.program$predmet.ocena.SKUPAJ.pred)) program.predmeti.pred.redni.program <- program.predmeti.pred.redni.program[order(program.predmeti.pred.redni.program$predmet.ocena.SKUPAJ.pred, program.predmeti.pred.redni.program$N_anket, decreasing=TRUE),] if (any(is.na(program.predmeti.pred.redni.program))) {opomba <- c(paste(". Podatek ni prikazan zaradi majhnega števila enot.", "\\newline - Podatek je manj pomemben ali težko izračunljiv.")) } else {opomba <- "- Podatek je manj pomemben ali težko izračunljiv."} rownames(program.predmeti.pred.redni.program) <- make.unique(formatProgImena(povprecja.predmeti.programi[rownames(program.predmeti.pred.redni.program), "ime.predmeta"], program.predmeti.pred.redni.program$predmet.ocena.SKUPAJ.pred)) program.predmeti.pred.redni.program <- rbind(program.predmeti.pred.redni.program, colMeans(program.predmeti.pred.redni.program, na.rm=TRUE), unlist(c("--", vars.predmet$cont$meansFDV[c(vars.predmet$cont$pred, "povprecje.ocen.pred")]))) program.predmeti.pred.redni.program1 <- formatNA1(program.predmeti.pred.redni.program[1:1], decimalke=c(0), pobarvanka=c(FDVstopnjaPobarvanka$n.anket), na.repl=".") program.predmeti.pred.redni.program2 <- formatNA(program.predmeti.pred.redni.program[2:9], 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.pred=pobarvankaPredmSkupaj), na.repl=".") program.predmeti.pred.redni.program <- cbind(program.predmeti.pred.redni.program1,program.predmeti.pred.redni.program2) rownames(program.predmeti.pred.redni.program)[(nrow(program.predmeti.pred.redni.program)-1):nrow(program.predmeti.pred.redni.program)] <- c(paste0("\\hline \\textbf{Povprečje programa (", st.predmetov, " predmetov)}"), paste0("\\hline \\textbf{Povprečje ", fakulteta, " (", kvantili.predmeti.st.pred, " predmetov)}")) colnames(program.predmeti.pred.redni.program) <- latex.rotate(c("Št. odgovorov", Hmisc::latexTranslate(as.character(vars.predmet$cont$ime.kratko[vars.predmet$cont$pred])), "\\textbf{Skupaj}")) program.predmeti.pred.redni.program.tex <- c(capture.output(Hmisc::latex(program.predmeti.pred.redni.program, caption="Povprečja \\textbf{predmetov}, sortirana po \\textbf{Skupaj}", rowlabel="", file="", where="H", multicol=FALSE, longtable=TRUE, lines.page=1000, col.just=c("c|",rep_len("c", length(vars.predmet$cont$pred)),"|c"), rowlabel.just="A{11cm}", insert.bottom=paste0("{\\footnotesize \\textit{", opomba, "}}")))) } else { program.predmeti.pred.redni.tex <- "Ni ocen." program.predmeti.pred.redni.program.tex <- NULL } if (nrow(program.predmeti.pred.izredni) > 0) { # PRED - izredni - all students program.predmeti.pred.izredni.tex <- "Ni ocen." if (allstudents) { if (any(is.na(program.predmeti.pred.izredni))) {opomba <- c(paste(". Podatek ni prikazan zaradi majhnega števila enot.", "\\newline - Podatek je manj pomemben ali težko izračunljiv.")) } else {opomba <- "- Podatek je manj pomemben ali težko izračunljiv."} program.predmeti.pred.izredni <- program.predmeti.pred.izredni[order(program.predmeti.pred.izredni$predmet.ocena.SKUPAJ.pred, program.predmeti.pred.izredni$N_anket, decreasing=TRUE),] rownames(program.predmeti.pred.izredni) <- formatProgImena(rownames(program.predmeti.pred.izredni), program.predmeti.pred.izredni$predmet.ocena.SKUPAJ.pred) program.predmeti.pred.izredni <- rbind(program.predmeti.pred.izredni, colMeans(program.predmeti.pred.izredni, na.rm=TRUE), unlist(FDVmeansPredmet_BDorBPpred)) program.predmeti.pred.izredni <- formatNA(program.predmeti.pred.izredni, decimalke=c(0,0,0,0,0,as.numeric(vars.predmet$cont$decimalke[vars.predmet$cont$pred]),decimalkePredmSkupaj), pobarvanka=c("NE", "NE", "NE", "NE", "NE", vars.predmet$cont$pobarvanka[vars.predmet$cont$pred], povprecje.ocen.pred=pobarvankaPredmSkupaj), na.repl=".") rownames(program.predmeti.pred.izredni)[(nrow(program.predmeti.pred.izredni)-1):nrow(program.predmeti.pred.izredni)] <- c("\\hline \\textbf{Povprečje programa (po predmetih)}", paste0("\\hline \\textbf{Povprečje ", fakulteta, " (", kvantili.predmeti.st.pred, " predmetov)}")) colnames(program.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}")) program.predmeti.pred.izredni.tex <- c(capture.output(Hmisc::latex(program.predmeti.pred.izredni, caption="Povprečja \\textbf{predmetov}, sortirana po \\textbf{Skupaj}", rowlabel="", file="", where="H", multicol=FALSE, longtable=TRUE, lines.page=1000, col.just=c(rep_len("c",4),"c|",rep_len("c", length(vars.predmet$cont$pred)),"|c"), rowlabel.just="A{8.1cm}", insert.bottom=paste0("{\\footnotesize \\textit{", opomba, "}}")))) } # PRED - izredni - students of this programme program.predmeti.pred.izredni.program <- subset(povprecja.predmeti.programi, program.studentov == program & NACIN_STUDIJA == "2" & N_anket > 0)[c( "N_anket",paste0(vars.predmet$cont$pred,"_mean"),"predmet.ocena.SKUPAJ.pred")] st.predmetov <- sum(!is.na(program.predmeti.pred.izredni.program$predmet.ocena.SKUPAJ.pred)) program.predmeti.pred.izredni.program <- program.predmeti.pred.izredni.program[order(program.predmeti.pred.izredni.program$predmet.ocena.SKUPAJ.pred, program.predmeti.pred.izredni.program$N_anket, decreasing=TRUE),] if(nrow(program.predmeti.pred.izredni.program) > 0) { if (any(is.na(program.predmeti.pred.izredni.program))) {opomba <- c(paste0(". Podatek ni prikazan zaradi majhnega števila enot.", "\\newline - Podatek je manj pomemben ali težko izračunljiv.")) } else {opomba <- paste("- Podatek je manj pomemben ali težko izračunljiv.")} rownames(program.predmeti.pred.izredni.program) <- formatProgImena(povprecja.predmeti.programi[rownames(program.predmeti.pred.izredni.program), "ime.predmeta"], program.predmeti.pred.izredni.program$predmet.ocena.SKUPAJ.pred) program.predmeti.pred.izredni.program <- rbind(program.predmeti.pred.izredni.program, colMeans(program.predmeti.pred.izredni.program, na.rm=TRUE), unlist(c("--", vars.predmet$cont$meansFDV[c(vars.predmet$cont$pred, "povprecje.ocen.pred")]))) program.predmeti.pred.izredni.program1 <- formatNA1(program.predmeti.pred.izredni.program[1:1], decimalke=c(0), pobarvanka=c(FDVstopnjaPobarvanka$n.anket), na.repl=".") program.predmeti.pred.izredni.program2 <- formatNA(program.predmeti.pred.izredni.program[2:9], 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.pred=pobarvankaPredmSkupaj), na.repl=".") program.predmeti.pred.izredni.program <- cbind(program.predmeti.pred.izredni.program1,program.predmeti.pred.izredni.program2) rownames(program.predmeti.pred.izredni.program)[(nrow(program.predmeti.pred.izredni.program)-1):nrow(program.predmeti.pred.izredni.program)] <- c(paste0("\\hline \\textbf{Povprečje programa (", st.predmetov, " predmetov)}"), paste0("\\hline \\textbf{Povprečje ", fakulteta, " (", kvantili.predmeti.st.pred, " predmetov)}")) colnames(program.predmeti.pred.izredni.program) <- latex.rotate(c("Št. odgovorov", Hmisc::latexTranslate(as.character(vars.predmet$cont$ime.kratko[vars.predmet$cont$pred])), "\\textbf{Skupaj}")) program.predmeti.pred.izredni.program.tex <- c(capture.output(Hmisc::latex(program.predmeti.pred.izredni.program, caption="Povprečja \\textbf{predmetov}, sortirana po \\textbf{Skupaj}", rowlabel="", file="", where="H", multicol=FALSE, longtable=TRUE, lines.page=1000, col.just=c("c|",rep_len("c", length(vars.predmet$cont$pred)),"|c"), rowlabel.just="A{11cm}", insert.bottom=paste0("{\\footnotesize \\textit{", opomba, "}}")))) } else {program.predmeti.pred.izredni.program.tex <- NULL} } else { program.predmeti.pred.izredni.tex <- "Ni ocen." program.predmeti.pred.izredni.program.tex <- NULL } if (nrow(program.predmeti.po.redni) > 0) { # PO - redni - all students if (allstudents) { if (any(is.na(program.predmeti.po.redni))) {opomba <- c(paste0(". Podatek ni prikazan zaradi majhnega števila enot.", "\\newline - Podatek je manj pomemben ali težko izračunljiv.")) } else {opomba <- "- Podatek je manj pomemben ali težko izračunljiv."} program.predmeti.po.redni <- program.predmeti.po.redni[order(program.predmeti.po.redni$predmet.ocena.SKUPAJ.po, program.predmeti.po.redni$N_anket_po_izpitu, decreasing=TRUE),] rownames(program.predmeti.po.redni) <- formatProgImena(rownames(program.predmeti.po.redni), program.predmeti.po.redni$predmet.ocena.SKUPAJ.po) program.predmeti.po.redni <- rbind(program.predmeti.po.redni, colMeans(program.predmeti.po.redni, na.rm=TRUE), unlist(FDVmeansPredmet_BDorBPpo)) program.predmeti.po.redni <- formatNA(program.predmeti.po.redni, decimalke=c(0,0,0,0,0,as.numeric(vars.predmet$cont$decimalke[vars.predmet$cont$po]), decimalkePredmSkupaj,as.numeric(vars.predmet$krediti$decimalke)), pobarvanka=c("NE", "NE", "NE", "NE", "NE", vars.predmet$cont$pobarvanka[vars.predmet$cont$po], povprecje.ocen.po=pobarvankaPredmSkupaj, vars.predmet$krediti$pobarvanka), na.repl=".") rownames(program.predmeti.po.redni)[(nrow(program.predmeti.po.redni)-1):nrow(program.predmeti.po.redni)] <- c("\\hline \\textbf{Povprečje programa (po predmetih)}", paste0("\\hline \\textbf{Povprečje ", fakulteta, " (", kvantili.predmeti.st.po, " predmetov)}")) colnames(program.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))) program.predmeti.po.redni.tex <- c(capture.output(Hmisc::latex(program.predmeti.po.redni, caption="Povprečja \\textbf{predmetov}, sortirana po \\textbf{Skupaj}", rowlabel="", file="", where="H", multicol=FALSE, longtable=TRUE, lines.page=1000, col.just=c(rep_len("c",4),"c|",rep_len("c", length(vars.predmet$cont$po)),"|c","|c"), rowlabel.just="A{9.4cm}", insert.bottom=paste0("{\\footnotesize \\textit{", opomba, "}}")))) } # PO - redni - students of this programme program.predmeti.po.redni.program <- subset(povprecja.predmeti.programi.PO, program.studentov == program & NACIN_STUDIJA == "1" & (N_anket >= minEnot | N_anket_po_izpitu >= minEnot))[c( "N_anket_po_izpitu",paste0(vars.predmet$cont$po,"_mean"),"predmet.ocena.SKUPAJ.po","predmet.ocena.krediti_mean")] st.predmetov <- sum(!is.na(program.predmeti.po.redni.program$predmet.ocena.SKUPAJ.po)) program.predmeti.po.redni.program <- program.predmeti.po.redni.program[order(program.predmeti.po.redni.program$predmet.ocena.SKUPAJ.po, program.predmeti.po.redni.program$N_anket_po_izpitu, decreasing=TRUE),] if (any(is.na(program.predmeti.po.redni.program))) {opomba <- c(paste(". Podatek ni prikazan zaradi majhnega števila enot.", "\\newline - Podatek je manj pomemben ali težko izračunljiv.")) } else {opomba <- c(paste("- Podatek je manj pomemben ali težko izračunljiv."))} rownames(program.predmeti.po.redni.program) <- formatProgImena(povprecja.predmeti.programi.PO[rownames(program.predmeti.po.redni.program), "ime.predmeta"], program.predmeti.po.redni.program$predmet.ocena.SKUPAJ.po) program.predmeti.po.redni.program <- rbind(program.predmeti.po.redni.program, colMeans(program.predmeti.po.redni.program, na.rm=TRUE), unlist(c("--", vars.predmet$cont$meansFDV[c(vars.predmet$cont$po, "povprecje.ocen.po")], vars.predmet$krediti$meansFDV))) program.predmeti.po.redni.program1 <- formatNA1(program.predmeti.po.redni.program[1:1], decimalke=c(0), pobarvanka=c(FDVstopnjaPobarvanka$n.anket), na.repl=".") program.predmeti.po.redni.program2 <- formatNA(program.predmeti.po.redni.program[2:7], 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=".") program.predmeti.po.redni.program<-cbind(program.predmeti.po.redni.program1,program.predmeti.po.redni.program2) rownames(program.predmeti.po.redni.program)[(nrow(program.predmeti.po.redni.program)-1):nrow(program.predmeti.po.redni.program)] <- c(paste0("\\hline \\textbf{Povprečje programa (", st.predmetov, " predmetov)}"), paste0("\\hline \\textbf{Povprečje ", fakulteta, " (", kvantili.predmeti.st.po, " predmetov)}")) colnames(program.predmeti.po.redni.program) <- latex.rotate(c("Št. odgovorov", Hmisc::latexTranslate(as.character(vars.predmet$cont$ime.kratko[vars.predmet$cont$po])), "\\textbf{Skupaj}", as.character(vars.predmet$krediti$ime.kratko))) program.predmeti.po.redni.program <- program.predmeti.po.redni.program[c(1,3,4,5,6,2,7)] program.predmeti.po.redni.program.tex <- c(capture.output(Hmisc::latex(program.predmeti.po.redni.program, caption="Povprečja \\textbf{predmetov}, sortirana po \\textbf{Skupaj}", rowlabel="", file="", where="H", multicol=FALSE, longtable=TRUE, lines.page=1000, col.just=c("c|",rep_len("c", length(vars.predmet$cont$po[-1])),"|c","|c","c"), rowlabel.just="A{12.5cm}", insert.bottom=paste0("{\\footnotesize \\textit{", opomba, "}}")))) ###SORTIRANJE PO USTREZNOSTI KREDITNIH TOČK program.predmeti.po.redni.program.krediti <- subset(povprecja.predmeti.programi.PO, program.studentov == program & NACIN_STUDIJA == "1" & (N_anket >= minEnot | N_anket_po_izpitu >= minEnot))[c( "N_anket_po_izpitu",paste0(vars.predmet$cont$po,"_mean"),"predmet.ocena.SKUPAJ.po","predmet.ocena.krediti_mean")] st.predmetov <- sum(!is.na(program.predmeti.po.redni.program.krediti$predmet.ocena.krediti_mean)) program.predmeti.po.redni.program.krediti <- program.predmeti.po.redni.program.krediti[order(program.predmeti.po.redni.program.krediti$predmet.ocena.krediti_mean, program.predmeti.po.redni.program.krediti$N_anket_po_izpitu, decreasing=TRUE),] if (any(is.na(program.predmeti.po.redni.program.krediti))) {opomba <- c(paste(". Podatek ni prikazan zaradi majhnega števila enot.", "\\newline - Podatek je manj pomemben ali težko izračunljiv. \\newline * {\\color{Orange}\\textbf{Oranžno}} so označena {\\color{Orange}\\textbf{opozorilna}} odstopanja ({\\color{Orange}\\textbf{2.4-2.6}}) in ({\\color{Orange}\\textbf{3.4-3.6}}), {\\color{BrickRed}\\textbf{rdeče}} pa {\\color{BrickRed}\\textbf{kritična}} odstopanja (pod {\\color{BrickRed}\\textbf{2.4}}) in (nad {\\color{BrickRed}\\textbf{3.6}}).")) } else {opomba <- c(paste("- Podatek je manj pomemben ali težko izračunljiv. \\newline * {\\color{Orange}\\textbf{Oranžno}} so označena {\\color{Orange}\\textbf{opozorilna}} odstopanja ({\\color{Orange}\\textbf{2.4-2.6}}) in ({\\color{Orange}\\textbf{3.4-3.6}}), {\\color{BrickRed}\\textbf{rdeče}} pa {\\color{BrickRed}\\textbf{kritična}} odstopanja (pod {\\color{BrickRed}\\textbf{2.4}}) in (nad {\\color{BrickRed}\\textbf{3.6}})."))} rownames(program.predmeti.po.redni.program.krediti) <- formatProgImena(povprecja.predmeti.programi.PO[rownames(program.predmeti.po.redni.program.krediti), "ime.predmeta"], program.predmeti.po.redni.program.krediti$predmet.ocena.krediti_mean) program.predmeti.po.redni.program.krediti <- rbind(program.predmeti.po.redni.program.krediti, colMeans(program.predmeti.po.redni.program.krediti, na.rm=TRUE), unlist(c("--", vars.predmet$cont$meansFDV[c(vars.predmet$cont$po, "povprecje.ocen.po")], vars.predmet$krediti$meansFDV))) program.predmeti.po.redni.program.krediti1 <- formatNA1(program.predmeti.po.redni.program.krediti[1:1], decimalke=c(0), pobarvanka=c(FDVstopnjaPobarvanka$n.anket), na.repl=".") program.predmeti.po.redni.program.krediti2 <- formatNA(program.predmeti.po.redni.program.krediti[2:7], 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=".") program.predmeti.po.redni.program.krediti <- cbind(program.predmeti.po.redni.program.krediti1,program.predmeti.po.redni.program.krediti2) rownames(program.predmeti.po.redni.program.krediti)[(nrow(program.predmeti.po.redni.program.krediti)-1):nrow(program.predmeti.po.redni.program.krediti)] <- c(paste0("\\hline \\textbf{Povprečje programa (", st.predmetov, " predmetov)}"), paste0("\\hline \\textbf{Povprečje ", fakulteta, " (", kvantili.predmeti.st.po, " predmetov)}")) colnames(program.predmeti.po.redni.program.krediti) <- latex.rotate(c("Št. odgovorov", Hmisc::latexTranslate(as.character(vars.predmet$cont$ime.kratko[vars.predmet$cont$po])),"\\textbf{Skupaj}", as.character(vars.predmet$krediti$ime.kratko))) program.predmeti.po.redni.program.krediti <- program.predmeti.po.redni.program.krediti[c(1,3,4,5,6,2,7)] program.predmeti.po.redni.program.krediti.tex <- c(capture.output(Hmisc::latex(program.predmeti.po.redni.program.krediti, caption="Povprečja \\textbf{predmetov}, sortirana po \\textbf{Ustreznost KT}", rowlabel="", file="", where="H", multicol=FALSE, longtable=TRUE, lines.page=1000, col.just=c("c|",rep_len("c", length(vars.predmet$cont$po[-1])),"|c","|c","c"), rowlabel.just="A{12.5cm}", insert.bottom=paste0("{\\footnotesize \\textit{", opomba, "}}")))) ####### } else { program.predmeti.po.redni.program.krediti.tex <- NULL program.predmeti.po.redni.tex <- NULL program.predmeti.po.redni.program.tex <- NULL } if (nrow(program.predmeti.po.izredni) > 0) { # PO - izredni - all students if (allstudents) { if (any(is.na(program.predmeti.po.izredni))) {opomba <- c(". Podatek ni prikazan zaradi majhnega števila enot.", "\\newline - Podatek je manj pomemben ali težko izračunljiv.") } else {opomba <- "- Podatek je manj pomemben ali težko izračunljiv."} program.predmeti.po.izredni <- program.predmeti.po.izredni[order(program.predmeti.po.izredni$predmet.ocena.SKUPAJ.po, program.predmeti.po.izredni$N_anket_po_izpitu, decreasing=TRUE),] rownames(program.predmeti.po.izredni) <- formatProgImena(rownames(program.predmeti.po.izredni), program.predmeti.po.izredni$predmet.ocena.SKUPAJ.po) program.predmeti.po.izredni <- rbind(program.predmeti.po.izredni, colMeans(program.predmeti.po.izredni, na.rm=TRUE), unlist(FDVmeansPredmet_BDorBPpo)) program.predmeti.po.izredni <- formatNA(program.predmeti.po.izredni, decimalke=c(0,0,0,0,0,as.numeric(vars.predmet$cont$decimalke[vars.predmet$cont$po]),decimalkePredmSkupaj,as.numeric(vars.predmet$krediti$decimalke)), pobarvanka=c("NE", "NE", "NE", "NE", "NE", vars.predmet$cont$pobarvanka[vars.predmet$cont$po], povprecje.ocen.po=pobarvankaPredmSkupaj, vars.predmet$krediti$pobarvanka), na.repl=".") rownames(program.predmeti.po.izredni)[(nrow(program.predmeti.po.izredni)-1):nrow(program.predmeti.po.izredni)] <- c("\\hline \\textbf{Povprečje programa (po predmetih)}", paste0("\\hline \\textbf{Povprečje ", fakulteta, " (", kvantili.predmeti.st.po, " predmetov)}")) colnames(program.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))) program.predmeti.po.izredni.tex <- c(capture.output(Hmisc::latex(program.predmeti.po.izredni, caption="Povprečja \\textbf{predmetov}, sortirana po \\textbf{Skupaj}", rowlabel="", file="", where="H", multicol=FALSE, longtable=TRUE, lines.page=1000, col.just=c(rep_len("c",4),"c|",rep_len("c", length(vars.predmet$cont$po)),"|c","|c"), rowlabel.just="A{9.4cm}", insert.bottom=paste0("{\\footnotesize \\textit{", opomba, "}}")))) } # PO - izredni - students of this programme program.predmeti.po.izredni.program <- subset(povprecja.predmeti.programi.PO, program.studentov == program & NACIN_STUDIJA == "2" & (N_anket >= minEnot | N_anket_po_izpitu >= minEnot))[c("N_anket_po_izpitu",paste0(vars.predmet$cont$po,"_mean"),"predmet.ocena.SKUPAJ.po","predmet.ocena.krediti_mean")] st.predmetov <- sum(!is.na(program.predmeti.po.izredni.program$predmet.ocena.SKUPAJ.po)) program.predmeti.po.izredni.program <- program.predmeti.po.izredni.program[order(program.predmeti.po.izredni.program$predmet.ocena.SKUPAJ.po, program.predmeti.po.izredni.program$N_anket_po_izpitu, decreasing=TRUE),] if (any(is.na(program.predmeti.po.izredni.program))) {opomba <- c(". Podatek ni prikazan zaradi majhnega števila enot.", "\\newline - Podatek je manj pomemben ali težko izračunljiv.") } else {opomba <- "- Podatek je manj pomemben ali težko izračunljiv."} rownames(program.predmeti.po.izredni.program) <- formatProgImena(povprecja.predmeti.programi.PO[rownames(program.predmeti.po.izredni.program), "ime.predmeta"], program.predmeti.po.izredni.program$predmet.ocena.SKUPAJ.po) program.predmeti.po.izredni.program <- rbind(program.predmeti.po.izredni.program, colMeans(program.predmeti.po.izredni.program, na.rm=TRUE), unlist(c("--", vars.predmet$cont$meansFDV[c(vars.predmet$cont$po, "povprecje.ocen.po")], vars.predmet$krediti$meansFDV))) program.predmeti.po.izredni.program1 <- formatNA1(program.predmeti.po.izredni.program[1:1], decimalke=c(0), pobarvanka=c(FDVstopnjaPobarvanka$n.anket), na.repl=".") program.predmeti.po.izredni.program2 <- formatNA(program.predmeti.po.izredni.program[2:7], 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=".") program.predmeti.po.izredni.program <- cbind(program.predmeti.po.izredni.program1,program.predmeti.po.izredni.program2) rownames(program.predmeti.po.izredni.program)[(nrow(program.predmeti.po.izredni.program)-1):nrow(program.predmeti.po.izredni.program)] <- c(paste0("\\hline \\textbf{Povprečje programa (", st.predmetov, " predmetov)}"), paste0("\\hline \\textbf{Povprečje ", fakulteta, " (", kvantili.predmeti.st.po, " predmetov)}")) colnames(program.predmeti.po.izredni.program) <- latex.rotate(c("Št. odgovorov", Hmisc::latexTranslate(as.character(vars.predmet$cont$ime.kratko[vars.predmet$cont$po])), "\\textbf{Skupaj}", as.character(vars.predmet$krediti$ime.kratko))) program.predmeti.po.izredni.program<-program.predmeti.po.izredni.program[c(1,3,4,5,6,2,7)] program.predmeti.po.izredni.program.tex <- c(capture.output(Hmisc::latex(program.predmeti.po.izredni.program, caption="Povprečja \\textbf{predmetov}, sortirana po \\textbf{Skupaj}", rowlabel="", file="", where="H", multicol=FALSE, longtable=TRUE, lines.page=1000, col.just=c("c|",rep_len("c", length(vars.predmet$cont$po[-1])),"|c","|c","c"), rowlabel.just="A{12.5cm}", insert.bottom=paste0("{\\footnotesize \\textit{", opomba, "}}")))) program.predmeti.po.izredni.program.krediti <- subset(povprecja.predmeti.programi.PO, program.studentov == program & NACIN_STUDIJA == "2" & (N_anket >= minEnot | N_anket_po_izpitu >= minEnot))[c( "N_anket_po_izpitu",paste0(vars.predmet$cont$po,"_mean"),"predmet.ocena.SKUPAJ.po","predmet.ocena.krediti_mean")] st.predmetov <- sum(!is.na(program.predmeti.po.izredni.program.krediti$predmet.ocena.krediti_mean)) program.predmeti.po.izredni.program.krediti <- program.predmeti.po.izredni.program.krediti[order(program.predmeti.po.izredni.program.krediti$predmet.ocena.krediti_mean, program.predmeti.po.izredni.program.krediti$N_anket_po_izpitu, decreasing=TRUE),] if (any(is.na(program.predmeti.po.izredni.program.krediti))) {opomba <- c(". Podatek ni prikazan zaradi majhnega števila enot.", "\\newline - Podatek je manj pomemben ali težko izračunljiv.") } else {opomba <- "- Podatek je manj pomemben ali težko izračunljiv."} rownames(program.predmeti.po.izredni.program.krediti) <- formatProgImena(povprecja.predmeti.programi.PO[rownames(program.predmeti.po.izredni.program.krediti), "ime.predmeta"], program.predmeti.po.izredni.program.krediti$predmet.ocena.krediti_mean) program.predmeti.po.izredni.program.krediti <- rbind(program.predmeti.po.izredni.program.krediti, colMeans(program.predmeti.po.izredni.program.krediti, na.rm=TRUE), unlist(c("--", vars.predmet$cont$meansFDV[c(vars.predmet$cont$po, "povprecje.ocen.po")], vars.predmet$krediti$meansFDV))) program.predmeti.po.izredni.program.krediti1 <- formatNA1(program.predmeti.po.izredni.program.krediti[1:1], decimalke=c(0), pobarvanka=c(FDVstopnjaPobarvanka$n.anket), na.repl=".") program.predmeti.po.izredni.program.krediti2 <- formatNA(program.predmeti.po.izredni.program.krediti[2:7], 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=".") program.predmeti.po.izredni.program.krediti <- cbind(program.predmeti.po.izredni.program.krediti1,program.predmeti.po.izredni.program.krediti2) rownames(program.predmeti.po.izredni.program.krediti)[(nrow(program.predmeti.po.izredni.program.krediti)-1):nrow(program.predmeti.po.izredni.program.krediti)] <- c(paste0("\\hline \\textbf{Povprečje programa (", st.predmetov, " predmetov)}"), paste0("\\hline \\textbf{Povprečje ", fakulteta, " (", kvantili.predmeti.st.po, " predmetov)}")) colnames(program.predmeti.po.izredni.program.krediti) <- latex.rotate(c("Št. odgovorov", Hmisc::latexTranslate(as.character(vars.predmet$cont$ime.kratko[vars.predmet$cont$po])), "\\textbf{Skupaj}", as.character(vars.predmet$krediti$ime.kratko))) program.predmeti.po.izredni.program.krediti <- program.predmeti.po.izredni.program.krediti[c(1,3,4,5,6,2,7)] program.predmeti.po.izredni.program.krediti.tex <- c(capture.output(Hmisc::latex(program.predmeti.po.izredni.program.krediti, caption="Povprečja \\textbf{predmetov}, sortirana po \\textbf{Skupaj}", rowlabel="", file="", where="H", multicol=FALSE, longtable=TRUE, lines.page=1000, col.just=c("c|",rep_len("c", length(vars.predmet$cont$po[-1])),"|c","|c","c"), rowlabel.just="A{12.5cm}", insert.bottom=paste0("{\\footnotesize \\textit{", opomba, "}}")))) } else { program.predmeti.po.izredni.tex <- NULL program.predmeti.po.izredni.program.krediti.tex<- NULL } } else { program.predmeti.pred.redni.tex <- "Ni ocen." program.predmeti.pred.izredni.tex <- "Ni ocen." program.predmeti.po.redni.tex <- NULL program.predmeti.po.redni.program.krediti.tex <- NULL program.predmeti.po.izredni.tex <- NULL program.predmeti.po.izredni.program.krediti.tex <- NULL program.predmeti.pred.redni.program.tex <- "Ni ocen." program.predmeti.po.redni.program.tex <- NULL program.predmeti.pred.izredni.program.tex <- "Ni ocen." program.predmeti.po.izredni.program.tex <- NULL } ## /course averages/ ## ############################################################################ ##POGLAVJE v izpisu za študijske programe: Povprečja po študijskih programih ###DODAJANJE POVPREČIJ PO ŠTUDIJSKIH PROGRAMIH ############################################################################ 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) { 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) } else {program_BD_pred.skupaj <- stopnja_program1} if (nrow(program_BD_pred.skupaj) > 0 & any(program_BD_pred.skupaj$STOPNJA==1, na.rm=TRUE)) { 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"))] # 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),] #} 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=FALSE, insert.bottom=paste("{\\footnotesize \\textit{}}"), col.just=c("c|",rep_len("c", length(imena_stolpcevPRED)),"|c"))) } else { program_BD_pred.skupaj.tex <- "Ni ocen." } #PROGRAMI: 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 <- stopnja_program.PO} 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) } if (nrow(program_BD_po.skupaj) > 0 & any(program_BD_po.skupaj$STOPNJA==1, na.rm=TRUE)) { program_BD_po.skupaj <-subset(program_BD_po.skupaj, STOPNJA==1) 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)] #if (gregexpr(pattern = "Magistrski",program_BD_po.skupaj$program.studentov.ime)[[1]][1] == 1){ # program_BD_po.skupaj<-program_BD_po.skupaj[- grep("Magistrski", program_BD_po.skupaj$program.studentov.ime),] #} 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{13cm}", multicol=FALSE, longtable=FALSE, insert.bottom=paste("{\\footnotesize \\textit{* {\\color{Orange}\\textbf{Oranžno}} so označena {\\color{Orange}\\textbf{opozorilna}} odstopanja ({\\color{Orange}\\textbf{2.4-2.6}}) in ({\\color{Orange}\\textbf{3.4-3.6}}), {\\color{BrickRed}\\textbf{rdeče}} pa {\\color{BrickRed}\\textbf{kritična}} 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 { program_BD_po.skupaj.tex <- "Ni ocen." } # 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) } else {stopnja_program.PO.krediti.pred <- stopnja_program.PO.krediti} 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) } if (nrow(program_BD_po.skupaj.krediti) > 0 & any(program_BD_po.skupaj.krediti$STOPNJA==1, na.rm=TRUE)) { program_BD_po.skupaj.krediti <- subset(program_BD_po.skupaj.krediti, STOPNJA==1) 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{13cm}", multicol=FALSE, longtable=FALSE, insert.bottom=paste("{\\footnotesize \\textit{* {\\color{Orange}\\textbf{Oranžno}} so označena {\\color{Orange}\\textbf{opozorilna}} odstopanja ({\\color{Orange}\\textbf{2.4-2.6}}) in ({\\color{Orange}\\textbf{3.4-3.6}}), {\\color{BrickRed}\\textbf{rdeče}} pa {\\color{BrickRed}\\textbf{kritična}} 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 { program_BD_po.skupaj.krediti.tex <- "Ni ocen." } ## //program_BD_po.skupaj.krediti.tex// ## ##################### # PODIPLOMSKI ŠTUDIJ ##################### #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))) stopnja_program_podipl.pred <- merge(test.pred, stopnja_program_podipl, by.x="student.program.ime",by.y="program.studentov.ime", all=TRUE) } else {stopnja_program_podipl <- stopnja_program_podipl} #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) { 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) } else {program_BD_pred.podipl <- stopnja_program_podipl1} if (nrow(program_BD_pred.podipl) > 0 & any(program_BD_pred.podipl$STOPNJA==2, na.rm=TRUE)) { 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=FALSE, insert.bottom=paste("{\\footnotesize \\textit{}}"), col.just=c("c|",rep_len("c", length(imena_stolpcevPRED)),"|c"))) } else { program_BD_pred.podipl.tex <- "Ni ocen." } ############### #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 (any(!is.na(stopnja_program_podipl.PO))){ 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) } else {stopnja_program_podipl.PO <- NULL} 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 if (!is.null(stopnja_program_podipl.PO1)) { 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 & !is.null(stopnja_program_podipl.PO1)) { 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) } if (nrow(program_BD_po.podipl) > 0 & any(program_BD_po.podipl$STOPNJA==2, na.rm=TRUE)) { program_BD_po.podipl <- subset(program_BD_po.podipl, STOPNJA==2) 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{13cm}", multicol=FALSE, longtable=FALSE, insert.bottom=paste("{\\footnotesize \\textit{* {\\color{Orange}\\textbf{Oranžno}} so označena {\\color{Orange}\\textbf{opozorilna}} odstopanja ({\\color{Orange}\\textbf{2.4-2.6}}) in ({\\color{Orange}\\textbf{3.4-3.6}}), {\\color{BrickRed}\\textbf{rdeče}} pa {\\color{BrickRed}\\textbf{kritična}} 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 { program_BD_po.podipl.tex <- "Ni ocen." } ############################ #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) } if (nrow(program_BD_po.podipl.krediti) > 0 & any(program_BD_po.podipl.krediti$STOPNJA==2, na.rm=TRUE)) { program_BD_po.podipl.krediti <- subset(program_BD_po.podipl.krediti, STOPNJA==2) 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{13cm}", multicol=FALSE, longtable=FALSE, insert.bottom=paste("{\\footnotesize \\textit{* {\\color{Orange}\\textbf{Oranžno}} so označena {\\color{Orange}\\textbf{opozorilna}} odstopanja ({\\color{Orange}\\textbf{2.4-2.6}}) in ({\\color{Orange}\\textbf{3.4-3.6}}), {\\color{BrickRed}\\textbf{rdeče}} pa {\\color{BrickRed}\\textbf{kritična}} 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 { program_BD_po.podipl.krediti.tex <- "Ni ocen." } ##################################### ####### # IPP ####### ###IZPIS ZA IZVAJALCE PRI PREDMETIH (IPP) PRVA STOPNJA if (nrow(izv.predmet) > 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) program_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 {program_dodiplomski_studij <- NULL program_dodiplomski_studij$STOPNJA <- NULL} if (nrow(izv.predmet) > 0 & any(program_dodiplomski_studij$STOPNJA==1, na.rm=TRUE)) { 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{12cm}", 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 { stopnja_izvajalec.skupaj.tex <- "Ni ocen." } ## //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) program_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")] ## Izločimo Neznan program stopnja_izvajalec.podipl <- stopnja_izvajalec.podipl[!stopnja_izvajalec.podipl$program.studentov.ime == "Neznan program", ] st.programov5<-length(stopnja_izvajalec.podipl$program.studentov.ime) } if (nrow(izv.predmet) > 0 & any(program_podiplomski_studij$STOPNJA==2, na.rm=TRUE)) { 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{12cm}", 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 { stopnja_izvajalec.podipl.tex <- "Ni ocen." } ## //IZPIS ZA IZVAJALCE PRI PREDMETIH (IPP) DRUGA STOPNJA// ## ########################## # STRUKTURA LATEX POROČILA # Latex tabele izračunanih povprečij # zapišemo v spremenljivko in opredelimo # strukturo latex izpisa (poglavje, podpoglavje, nove strani) ########################## programi.tex[[as.character(program)]] <- c( "\\chapter{Redni študij}","\\renewcommand{\\leftmark}{Predmeti - redni študij}", paste("Prikazana so povprečja za ocene komponent na skalah 1-5 za predmete z vsaj 4 odgovori. Povprečja pod 4.0 so obarvana {\\color{Orange}\\textbf{oranžno (opozorilno)}}, povprečja pod 3.0 pa {\\color{BrickRed}\\textbf{rdeče (kritično)}}. 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}", program.predmeti.pred.redni.program.tex, "\\newpage","\\subsection{Anketa PO izpitu}", program.predmeti.po.redni.program.tex, "\\newpage",program.predmeti.po.redni.program.krediti.tex,"\\newpage", paste0("\\chapter{Izredni študij}"), "\\renewcommand{\\leftmark}{Predmeti - izredni študij}", if (program.predmeti.pred.izredni.tex != "Ni ocen." && !is.null(program.predmeti.po.izredni.tex) && program.izvajalci.izredni.tex != "Ni ocen.") { c("\\section{Predmeti}","\\subsection{Anketa PRED izpitom}", program.predmeti.pred.izredni.program.tex, "\\newpage", "\\subsection{Anketa PO izpitu}",program.predmeti.po.izredni.program.tex, "\\newpage", program.izvajalci.izredni.program.tex, "\\newpage", program.predmeti.po.izredni.program.krediti) } else {"Ni ocen za izredni študij."}, if (programi.imena.stopnja$Stopnja == 1){c( "\\chapter{Povprečja po študijskih programih}", "\\renewcommand{\\leftmark}{Študijski programi}", paste("Izračunana so povprečja po vseh 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, kjer so odgovarjali vsaj", minEnot, "študenti. Med predmete določenega programa so vključeni tudi izbirni predmeti drugih programov, če so jih študenti odgovarjajočega programa izbrali."), "\\section{Dodiplomski študij}", program_BD_pred.skupaj.tex,"\\newpage",program_BD_po.skupaj.tex, "\\newpage",program_BD_po.skupaj.krediti.tex,"\\newpage") } else { c("\\chapter{Povprečja po študijskih programih}", "\\renewcommand{\\leftmark}{Študijski programi}", paste("Izračunana so povprečja po vseh 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, kjer so odgovarjali vsaj", minEnot,"študenti. Vključeni so lahko tudi prosto izbirni predmeti (oziroma izvajalci pri predmetih), ki so sicer domicilni na drugih programih."), "\\section{Podiplomski študij}", program_BD_pred.podipl.tex,"\\newpage",program_BD_po.podipl.tex, "\\newpage",program_BD_po.podipl.krediti.tex,"\\newpage")}) } # Sestavljanje LATEX DOKUMENTA (glava, noga) tex.glava <- scan("Evalvacija/latexkosi/a-glava-katedra.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='!ime.fak!', replacement=Hmisc::latexTranslate(ime.fakultete), x=tex.glava) tex.glava <- gsub(pattern='!leto!', replacement=Hmisc::latexTranslate(semester.leto), x=tex.glava) tex.glava <- gsub(pattern='!encoding_r!', tolower(gsub("-","",localeToCharset(locale=Sys.getlocale("LC_CTYPE")))), x=tex.glava) tex.noga <- scan("Evalvacija/latexkosi/z-noga.tex", character(0), sep="\n", quiet=TRUE, encoding="UTF-8") Rdirektorij <- getwd() for (program in names(programi.tex)) { tex.glava.program <- gsub(pattern='!naslov!', replacement=Hmisc::latexTranslate(programi[programi$student.program.sifra==program, "student.program.ime"]), x=tex.glava) tex.program <- c(tex.glava.program,"\\setlength{\\tabcolsep}{4pt}", programi.tex[[as.character(program)]], "\\newpage", "\\renewcommand{\\leftmark}{Metodološko pojasnilo}", tex.okvir,"\\newpage", tex.noga) cat(tex.program, file=paste("Evalvacija/results/program_", program,"_", fakulteta, ".tex", sep=""), sep="\n") setwd(paste(Rdirektorij, "Evalvacija/results", sep="/")) tools::texi2pdf(file=paste("program_", program,"_", fakulteta, ".tex", sep=""), quiet=TRUE, clean=TRUE) setwd(Rdirektorij) }