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

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