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

1427 lines
124 KiB
R

# 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)
}