855 lines
34 KiB
R
855 lines
34 KiB
R
![]() |
# Created by Miha 2015. Updated by Miha 22.7.2019 in parts in progress!!!! #
|
|||
|
|
|||
|
# PREVERI!!!!!!!!!!!
|
|||
|
#-------------------- SET WORKING DIREKTORY -----------------------#
|
|||
|
# Check which PC we are working from: WORk OR HOME
|
|||
|
fpath <- file.path("C:/MIHA DELO/FDV PROJEKT EVALVACIJE UL/EVLAVACIJE 2018_2019 UPDATED")
|
|||
|
|
|||
|
if (!dir.exists(fpath)){
|
|||
|
output_dir <- "E:/Work/Vasja Vehovar/EVLAVACIJE 2018_2019 UPDATED"
|
|||
|
setwd(output_dir)
|
|||
|
} else {
|
|||
|
setwd(fpath)
|
|||
|
}
|
|||
|
#------------------ //SET WORKING DIREKTORY// ---------------------#
|
|||
|
|
|||
|
|
|||
|
#########################################
|
|||
|
# KRATEK OPIS STRUKTURE PORO<52>IL IN KODE #
|
|||
|
#########################################
|
|||
|
# Poro<72>ilo je sestavljeno na podlagi R kode (izra<72>uni) in latex kode (.tex, struktura poro<72>il)
|
|||
|
# Vhodne datoteke se nahajajo v mapi "temp", kjer sta dve lo<6C>eni datoteki s podatki za +
|
|||
|
# ANKETO PRED IZPITOM in ANKETO PO IZPITU
|
|||
|
# V mapi se nahajajo tudi <20>ifranti (ki slu<6C>ijo opredelitvi izvajalcev fakultete, predmetov, +
|
|||
|
# na<6E>ina <20>tudija, <20>tudijskih programov), itd: +
|
|||
|
# Podrobno preberi: http://ul.1ka.si/index.php?fl=2&lact=1&bid=40&parent=3
|
|||
|
# V poro<72>ilu so ocenjene, obarvane in v tabelah predstavljene vrednosti komponent za izvajalca, +
|
|||
|
# vrednosti komponent predmetov PRED izpitom in vrednosti komponent PO izpitu.
|
|||
|
#' @param Komponente za izvajalca so: Kakovost, Pripravljenost, Razumljivost, Zanimivost, Kriti<74>nost, Korektnost
|
|||
|
#' @param Komponente predmeta (ANKETA PRED): Zadovoljstvo, Usklajenost, Samostojnost, Literatura, Obve<76><65>enost, Info. na spletu, Preverjanje
|
|||
|
#' @param Komponente predmeta (ANKETA PO):Vsebine, naloge, Ocenjevanje, Kompetence, Ustreznost Kreditnih to<74>k
|
|||
|
########
|
|||
|
# OSNOVNA SKIPTA #
|
|||
|
#================#
|
|||
|
#' skripta: @name 00_dataanalysis.R je osnova (ki jo vedno najprej po<70>enemo) in je namenjena opredelitvi +
|
|||
|
# spremenljivk, vektorjev, podatkovnih okvirjev in izra<72>unu povpre<72>ij, kvantilnih rangov, +
|
|||
|
# obarvanju, itd.
|
|||
|
# Obarvanja povpre<72>ij komponent in kvantilnih rangov opredelimo v skkripti funkcije.R
|
|||
|
# Skripto tabelaBy.r pa uporabimo samo pri izpisu PDF za izvajalca. Pri izpisu za programe, fakulteto tega ne uporabljamo.
|
|||
|
# Ko smo pognali skrpto kodo.r, lahko generiramo poro<72>ilo za izvajalce, tako da po<70>enemo +
|
|||
|
# skirpto koda-izvajalec_predmet.r.
|
|||
|
# Skripta koda-fakulteta.r slu<6C>i generiranju poro<72>ila za fakulteto.
|
|||
|
# Skripta koda-programi pa generira poro<72>ila za <20>tudijske programe.
|
|||
|
########
|
|||
|
# Glavo dokumenta, obarvanje vrednosti, <20>irino tabel, rotiranje stolpcev, +
|
|||
|
# nove strani, poglavja, kazalo itd. generiramo s pomo<6D>jo latex kode, ki je +
|
|||
|
# prenesena v R.
|
|||
|
# V mapi latexkosi so denifirane tex. datoteke, ki so namenjene generiranju +
|
|||
|
# glave (prva stran, kazalo) in noge (zaklju<6A>ek) poro<72>ila
|
|||
|
### Poro<72>ilo za izvajalca: glavno dokumenta definira tex datoteka a-glava.tex, +
|
|||
|
#' ki jo preberemo v skripti @nam07_PDF_izvajalec.r
|
|||
|
### Poro<72>ilo za fakulteto: glavo dokumenta definira tex datoteka
|
|||
|
# a-glava-program.tex (glej skripto koda-fakulteta.r)
|
|||
|
### Excel datoteka "navodila" je narejena s strani programerja in +
|
|||
|
# slu<6C>i opredelitvi anketnih vpra<72>anj za izvajalca, ter predmete (ANKETA PRED IN PO IZPITU) +
|
|||
|
# oz. komponent, po katerih ra<72>unamo povpre<72>ja, kvantilne range, itd.
|
|||
|
#----------------------- //KRATEK OPIS STRUKTURE PORO<52>IL// -----------------------------------#
|
|||
|
|
|||
|
|
|||
|
#---------------------- 1KA stre<72>nik -------------------------#
|
|||
|
# Del, ki ga potrebuje Peter, da generira ustrezno poro<72>ilo
|
|||
|
# za posamezno fakulteto na stre<72>niku
|
|||
|
# Tega trenutno ne rabimo
|
|||
|
#params <- commandArgs(trailingOnly = TRUE)
|
|||
|
#ID <- params[1]
|
|||
|
#---------------------- //1KA stre<72>nik// ---------------------#
|
|||
|
|
|||
|
|
|||
|
#------------- List packages we need -----------------#
|
|||
|
# List packages we want
|
|||
|
# install packages from CRAN
|
|||
|
p_needed <-
|
|||
|
c("tools",
|
|||
|
"psych",
|
|||
|
"Hmisc",
|
|||
|
"reports",
|
|||
|
"fmsb",
|
|||
|
"car",
|
|||
|
"Cairo",
|
|||
|
"openxlsx",
|
|||
|
"qpcR",
|
|||
|
"rio",
|
|||
|
"dplyr") # import data (trendi fakulteta)
|
|||
|
|
|||
|
|
|||
|
## Install new packages
|
|||
|
packages <- rownames(installed.packages())
|
|||
|
p_to_install <- p_needed[!(p_needed %in% packages)]
|
|||
|
|
|||
|
if (length(p_to_install) > 0) {
|
|||
|
install.packages(p_to_install)
|
|||
|
}
|
|||
|
|
|||
|
# Load the packages
|
|||
|
lapply(p_needed, require, character.only = TRUE)
|
|||
|
#------------ //List packages we need// --------------#
|
|||
|
|
|||
|
|
|||
|
#---------------------------- DEFINE FACULTY ID -------------------------------#
|
|||
|
# Opredelimo ID fakultete, ki skrbi za to da se v poro<72>ilu (kjer je dogovorjeno)
|
|||
|
# izpi<70>e kratice fakultete, ime fakultete ter izri<72>e logo fakultete.
|
|||
|
# (glej poro<72>ilo za izvajalca, ki ga generira R. skripta koda-izvajalec_predmet)
|
|||
|
# ID skrbi tudi, da preberemo ustrezne CSV datoteke za ustrezno Fakulteto.
|
|||
|
# Ko se koda prenese na stre<72>nik ID zakomentiramo, saj ga Peter ne Potrebuje
|
|||
|
ID <- 3000025
|
|||
|
fakulteta <- ""
|
|||
|
ime.fakultete <- ""
|
|||
|
source("Evalvacija/R/02_IDfaculty.R", encoding = "UTF-8")
|
|||
|
#-------------------------- //DEFINE FACULTY ID// -----------------------------#
|
|||
|
|
|||
|
|
|||
|
# ----------------------------- CUSTOM DEFINED FUNCTIONS ------------------------------#
|
|||
|
# Nalo<6C>imo dodatne funkcije (obarvanje povpre<72>ja + generiranje tabel v
|
|||
|
# poglavju Analiza predmeta po programih in letnikih:
|
|||
|
# glej poro<72>ilo za izvajalca )
|
|||
|
#' <20>e <20>elimo spremeniti barvo, moramo novo barvo defnirati v:
|
|||
|
#' skripti @name funkcije.r in v @name tex. datotekah (npr za izvajalca: @a-glava.tex )
|
|||
|
#' @POMEMBNO!!! v 01_funkcije.r opredelimo minimalno <20>tevilo enot na podlagi katerega
|
|||
|
#' prika<6B>emo vrednosti povpre<72>ij.
|
|||
|
source('Evalvacija/R/funkcije/01_funkcije.r', encoding = "UTF-8")
|
|||
|
#' Funkcije, ki vodo skrbele za @Agregate in Trende
|
|||
|
source('Evalvacija/R/funkcije/agregati_funkcije.r', encoding = "UTF-8")
|
|||
|
|
|||
|
# --------------------------- //CUSTOM DEFINED FUNCTIONS// ----------------------------#
|
|||
|
|
|||
|
|
|||
|
#--------- WARNINGS ----------#
|
|||
|
options(nwarnings = 10000)
|
|||
|
# ignore these warnings:
|
|||
|
# "[DATA NOT ENOUGH] at 3 NA" <- fmsb::radarchart ne more naredit radar grafa predmeta ker ni vsaj 3 vrednosti za ocene komponent predmeta
|
|||
|
# "In FUN(newX[, i], ...) : no non-missing arguments to min; returning Inf/-Inf" <- ne more izra<72>unat min in max ker je n=0
|
|||
|
#------- //WARNINGS// --------#
|
|||
|
|
|||
|
|
|||
|
# --------------------------------- FOLDERS FOR OUTPUT ---------------------------------------#
|
|||
|
# Ustvarimo mapo, kjer se bodo shranjevale slike (grafi, histogrami, barploti)
|
|||
|
# PDF Slike grafov izvajalca
|
|||
|
dir.create(paste0("Evalvacija/results/",fakulteta), showWarnings = FALSE)
|
|||
|
dir.create(paste0("Evalvacija/results/",fakulteta,"/part-izvajalec-slike"), showWarnings = FALSE)
|
|||
|
# PDF Slike grafov za predmet
|
|||
|
dir.create(paste0("Evalvacija/results/",fakulteta,"/part-predmet-slike"), showWarnings = FALSE)
|
|||
|
# Mapa, kamor se bodo shranjevali PDF-ji <20>tudijskih praks (praksa, trendi prakse za <20>lanico)
|
|||
|
dir.create(paste0("Evalvacija/results/",fakulteta,"/praksa"), showWarnings = FALSE)
|
|||
|
# Folder kamor bomo shranjevlai podatke za agregate, ki pridejo v upo<70>tev pri poro<72>ilu
|
|||
|
# za fakulteto in program
|
|||
|
dir.create(paste0("Evalvacija/results/",fakulteta,"/Agregati"), showWarnings = FALSE)
|
|||
|
# Folder, kjer se bodo generirali Trendi za izvajalca
|
|||
|
dir.create(paste0("Evalvacija/results/",fakulteta,"/Trendi"), showWarnings = FALSE)
|
|||
|
# Trendi za habilitacijsko komisijo na nivoju izvaajalca
|
|||
|
# Gre za enako poro<72>ilo kot v primeru Trendov z aizvajalca, le, da so v tem poro<72>ilu
|
|||
|
# <20>e tabele IPP (ocene izvajalca pri predmetih) in odprti odgovori <20>tudentov za IPP
|
|||
|
dir.create(paste0("Evalvacija/results/",fakulteta,"/Habilitacijska"), showWarnings = FALSE)
|
|||
|
# Folder, kjer se bodo generirala poro<72>ila za <20>tudijske programe
|
|||
|
dir.create(paste0("Evalvacija/results/",fakulteta,"/Programi"), showWarnings = FALSE)
|
|||
|
# ------------------------------- //FOLDERS FOR OUTPUT// -------------------------------------#
|
|||
|
|
|||
|
|
|||
|
|
|||
|
#---------------------------------------- IMPORT AND PREPARE DATA -----------------------------------------#
|
|||
|
#!!!!!! OLD (v<>asih somo to delali iz SPSS baze (2014) zato smo) ohranili datoteko "navodila.xlsx"
|
|||
|
# V navodilih so opredeljene komponente in definirana imena vpra<72>anj +
|
|||
|
# ankete 1KA za izvajalca (npr. IZPOUC1) in za predmet (npr. IZPREDa)
|
|||
|
# Vrstice predstavljajo komponente za izvajalca in za predmete.
|
|||
|
# Definirana so tudi imena komponent, ki jih zapi<70>emo v latex tabelah +
|
|||
|
# (stolpec: ime.kratko) ter celotna imena komponent oz. anketnih vpra<72>anj
|
|||
|
# (glej stolpec: ime.dolgo)
|
|||
|
# V navodilih so opredeljene spremenljivke, ki se nana<6E>ajo na spremenljivke v bazi
|
|||
|
# (anketa pred in anketa po izpitu) ter dodana nova imena teh spremenljivk,
|
|||
|
# ki smo jih generirali sami zaradi la<6C>jega in hitrej<65>ega pisanja nadalnje kode
|
|||
|
# (klicanje teh spremenljivk, ki se ra<72>unajo)
|
|||
|
# Glej excel navodila!!!
|
|||
|
navodila <-
|
|||
|
openxlsx::read.xlsx(xlsxFile = "Evalvacija/temp/navodila.xlsx",
|
|||
|
colNames = TRUE,
|
|||
|
rowNames = TRUE)
|
|||
|
|
|||
|
# Preberemo vhodne datoteke Fakultete glede na ID, ki smo ga opredelili #
|
|||
|
# Vse vhodne podatke pripravi Peter oziroma dobim na naslovu:
|
|||
|
# https://anketa.uni-lj.si/student//index.php
|
|||
|
# V <20>tudijskem letu 2016/2017 je pri<72>lo do spremembe v <20>ifrantih,
|
|||
|
# in sicer v obeh bazah odgovorov <20>tudentov 1KA (anketa pred izpitom in anketa PO izpitu)
|
|||
|
# ne sem biti ve<76> <20>IFER <20>TUDENTOV, ki pa je v prej<65>njih leti bila.
|
|||
|
# Ker smo dve lo<6C>eni bazi (anketa pred in po izpitu)
|
|||
|
# zdru<72>evali na podlagi <20>ifre <20>tudentov to ve<76> ni mogo<67>e. Zato
|
|||
|
# 1) Celotno kodo preuredimo tako, da bomo podatke "vlekli" iz dveh razli<6C>nih baz
|
|||
|
# (data_pred_izpitom, data_po_izpitu)
|
|||
|
|
|||
|
#' Podatki za: @name Anketa PRED izpitom----------------------
|
|||
|
data_pred_izpitom <-
|
|||
|
read.csv2(
|
|||
|
paste0("Evalvacija/temp/anketa_pred_izp_", fakulteta, ".csv"),
|
|||
|
header = TRUE,
|
|||
|
fill = TRUE,
|
|||
|
stringsAsFactors = FALSE
|
|||
|
)
|
|||
|
# Read from second row (first rows are labels)
|
|||
|
if (data_pred_izpitom[1, 1] == "Ustreznost") {
|
|||
|
data_pred_izpitom <- data_pred_izpitom[2:nrow(data_pred_izpitom), ]
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
#' Podatki za: @name Anketa PO izpitu-----------------------
|
|||
|
data_po_izpitu <-
|
|||
|
read.csv2(
|
|||
|
paste0("Evalvacija/temp/anketa_po_izpitu_", fakulteta, ".csv"),
|
|||
|
header = TRUE,
|
|||
|
fill = TRUE,
|
|||
|
stringsAsFactors = FALSE
|
|||
|
)
|
|||
|
|
|||
|
# Read from second row
|
|||
|
if (data_po_izpitu[1, 1]=="Ustreznost") {
|
|||
|
data_po_izpitu <- data_po_izpitu[2:nrow(data_po_izpitu),]
|
|||
|
}
|
|||
|
|
|||
|
#' @name sifrantX1 -------------------------------------#
|
|||
|
# Je edini obvezni <20>ifrant, kjer se nahajajo vsi pomembni
|
|||
|
# podatki za generiranje poro<72>il.
|
|||
|
sifrant <-
|
|||
|
read.csv2(
|
|||
|
paste0("Evalvacija/temp/sifrant_", fakulteta, ".csv"),
|
|||
|
header = TRUE,
|
|||
|
fill = TRUE,
|
|||
|
stringsAsFactors = FALSE
|
|||
|
)
|
|||
|
# TIDY DATA --------------------------#
|
|||
|
# remove extra spaces # trim funkcija je definirana v funkcije.r
|
|||
|
sifrant$PREDMET <- trim(sifrant$PREDMET)
|
|||
|
# remove dots in front of course names (FDV!)
|
|||
|
sifrant$PREDMET <- sub("^\\.", "", sifrant$PREDMET)
|
|||
|
# remove extra spaces
|
|||
|
sifrant$NAZIV.PEDAGOGA <- trim(sifrant$NAZIV.PEDAGOGA)
|
|||
|
# Novi <20>ifranti, ki smo jih prodobili s strani UL in ne Petra
|
|||
|
# if (ID == 3000018) {
|
|||
|
# sifrant$IDP <-
|
|||
|
# ifelse(sifrant$NACIN_STUDIJA == "1",
|
|||
|
# paste0(sifrant$IDP, "_1"),
|
|||
|
# paste0(sifrant$IDP, "_2"))
|
|||
|
# }
|
|||
|
#------------------------ //TIDY DATA// ------------------------#
|
|||
|
|
|||
|
|
|||
|
# <20>ifrant X3: STUDENT PROGRAM NAMES------------------------------
|
|||
|
programi.imena <-
|
|||
|
read.csv2(
|
|||
|
paste0("Evalvacija/temp/programi_", fakulteta, ".csv"),
|
|||
|
fill = TRUE,
|
|||
|
header = TRUE,
|
|||
|
stringsAsFactors = FALSE
|
|||
|
)
|
|||
|
|
|||
|
# UPDATED 29.10.2019 #
|
|||
|
# ZA POTREBE FDV DODAMO IMENA PRENOVLJENIH IN STARIH PROGRMOV---------
|
|||
|
# Trenutno je namre<72> tako, da imamo za dva razli<6C>na programa isto
|
|||
|
# ime a razli<6C>ni <20>ifri. Z imena programa pa izvajalec ne ve
|
|||
|
# ali gre z anov ali star program.
|
|||
|
# FDV je zato izrazil <20>eljo, da bi prenovljene in predhodne programe
|
|||
|
# lo<6C>ili tako, da bi k imenu dodali (prendovljeni) ali (predhodni)
|
|||
|
# Torej to naredio le v primeru FDV, za druge fakultete pa po
|
|||
|
# NARO<52>ILU
|
|||
|
if (ID == 3000021) {
|
|||
|
# Programe bomo poimenovali v vseh bazah in <20>ifrantu programov
|
|||
|
# Dru<72>boslovna informatika UNI stari program ima ID = 1000229
|
|||
|
# Dru<72>boslovna informatika UNI prenovljeni program ima ID = 1001021
|
|||
|
source("Evalvacija/R/funkcije/nova_imena_programov.R", encoding = "UTF-8")
|
|||
|
# ANKETA PRED IZPITOM
|
|||
|
data_pred_izpitom <- prenPredh(data_pred_izpitom, "program", "idprog")
|
|||
|
# ANKETA PO IZPITU
|
|||
|
data_po_izpitu <- prenPredh(data_po_izpitu, "program", "idprog")
|
|||
|
# <20>ifrant vse programov:
|
|||
|
programi.imena <- prenPredh(programi.imena, program = "Naziv", idprog = "ID")
|
|||
|
}
|
|||
|
|
|||
|
# Dodatno pa <20>e:
|
|||
|
# Lo<4C>imo univerzitetne in visoko<6B>olske programe z vrsto <20>tudija,
|
|||
|
# ker so druga<67>e podvojena imena (npr. Dru<72>boslovna informatika (uni))
|
|||
|
# Imenu programa prilepimo vrsto <20>tudija (npr. uni ali vs)
|
|||
|
programi.imena$Naziv <-
|
|||
|
paste0(programi.imena$Naziv, " (", programi.imena$Vrsta, ")")
|
|||
|
|
|||
|
|
|||
|
# <20>e so pokvarjeni Ȏ<>-ji zaradi napa<70>nega encodinga v <20>ifrantih to ustrezno popravimo
|
|||
|
#Encoding(programi.imena$Naziv) <- "UTF-8"
|
|||
|
#------------------------------------ //IMPORT AND PREPARE DATA// --------------------------------------#
|
|||
|
|
|||
|
|
|||
|
|
|||
|
#------------------------- ERROR CHECK -------------------------#
|
|||
|
# MOREBITNE NESKLADNOSTI Z 1KA BAZO podatkov IN
|
|||
|
# <20>IFRANTOM X1, KI BI LAHKO VPLIVALE NA PRAVILNOST
|
|||
|
# IZDELAVE PDF PORO<52>IL
|
|||
|
source('Evalvacija/R/funkcije/errorCheck.r', encoding = "UTF-8")
|
|||
|
#---------------------- //ERROR CHECK// ------------------------#
|
|||
|
|
|||
|
|
|||
|
#--------------------------------------- AGREGAT SUMARNIH PREDMETOV -----------------------------------------#
|
|||
|
# UPDATE 23.12.2019
|
|||
|
# Za<5A>asno zakomenentiramo tale del, saj so bile neke napake v poro<72>ilih. Se vrnemo kasneje k temu
|
|||
|
# <20>e je ID == Fakulteta za Glasbo zdru<72>imo dolo<6C>ene predmete iz <20>ifranta x7 v meta predmet
|
|||
|
# if (ID == 3000043){
|
|||
|
# source('Evalvacija/R/zdruzevanje_predmetov_AG.R')
|
|||
|
# source('Evalvacija/R/funkcije/errorCheck.r', encoding = "UTF-8")
|
|||
|
# }
|
|||
|
#------------------------------------ //AGREGAT SUMARNIH PREDMETOV// ----------------------------------------#
|
|||
|
|
|||
|
|
|||
|
#------------------- DEFINE VARIABLES FOR CALUCLATIONS -------------------#
|
|||
|
# We create list of variables which will be called for descriptive
|
|||
|
# statistics and Latex tables purposes
|
|||
|
source("Evalvacija/R/03_variables.R")
|
|||
|
#------------------- DEFINE VARIABLES FOR CALUCLATIONS -------------------#
|
|||
|
|
|||
|
|
|||
|
#------------------------------- MAIN PART -----------------------------------#
|
|||
|
# V tem delu pripravimo vse potrebne izra<72>une, in sicer:
|
|||
|
#' opisne statistike, kvantilne range in frekvence glede
|
|||
|
#' na \predmet, \izvajalca, \program in \letnik <20>tudentov za:
|
|||
|
#' sedem @komponent v anketi PRED
|
|||
|
#' <20>est @komponent za izvajalca pri predemtih v anketi PRED
|
|||
|
#' tri @komponente za predmet v anketi PO
|
|||
|
#' @kompetence v anketi PO
|
|||
|
#' @Utreznost KT v anketi PO
|
|||
|
#' komponente @prakse v anketi PO
|
|||
|
|
|||
|
# PODATKI ZA PREDMETE (ANKETA PRED) ----------------------#
|
|||
|
source("Evalvacija/R/04_Anketa_PRED.R", encoding = "UTF-8")
|
|||
|
#---------------------------------------------------------#
|
|||
|
|
|||
|
# PODATKI ZA IZVAJALCE (ANKETA PRED) ---------------------#
|
|||
|
source("Evalvacija/R/05_Izvajalci_PRED.R", encoding = "UTF-8")
|
|||
|
#---------------------------------------------------------#
|
|||
|
|
|||
|
# PODATKI ZA PREDMETE (ANKETA PRED) ----------------------#
|
|||
|
source("Evalvacija/R/06_Anketa_PO.R", encoding = "UTF-8")
|
|||
|
#---------------------------------------------------------#
|
|||
|
|
|||
|
###################
|
|||
|
# UPDATE 3.9.2018 #
|
|||
|
###################
|
|||
|
# TRENUTNO, bomo kasneje preuredili.
|
|||
|
# Za potrebe Agregatov zapi<70>emo vse ocene tudi za tiste predmete z manj kot
|
|||
|
# <20>tirimi odgovori.
|
|||
|
# IZVAJALCI PRI PREDMETIH (ANKETA PRED)-------------
|
|||
|
# Dodamo <20>e <20>tudijsko leto
|
|||
|
year <- strsplit(semester.leto, " ")[[1]]
|
|||
|
year <- grep("/", year, value = TRUE) # dates
|
|||
|
povprecja.izvajalci.programi.brez.cenzure$leto <- year
|
|||
|
povprecja.predmeti.programi.PO.brez.cenzure.PO$leto <- year
|
|||
|
povprecja.predmeti.programi.brez.cenzure$leto <- year
|
|||
|
|
|||
|
write.csv2(
|
|||
|
povprecja.izvajalci.programi.brez.cenzure,
|
|||
|
paste0(
|
|||
|
"Evalvacija/results/",
|
|||
|
fakulteta,
|
|||
|
"/Agregati/izv_agregat_18_19.csv"
|
|||
|
)
|
|||
|
)
|
|||
|
# PREDMETI (ANKETA PO)-----------------
|
|||
|
write.csv2(
|
|||
|
povprecja.predmeti.programi.PO.brez.cenzure.PO,
|
|||
|
paste0(
|
|||
|
"Evalvacija/results/",
|
|||
|
fakulteta,
|
|||
|
"/Agregati/po_agregat_18_19.csv"
|
|||
|
)
|
|||
|
)
|
|||
|
# PREDMETI (ANKETA PRED) ---------------
|
|||
|
write.csv2(
|
|||
|
povprecja.predmeti.programi.brez.cenzure,
|
|||
|
paste0(
|
|||
|
"Evalvacija/results/",
|
|||
|
fakulteta,
|
|||
|
"/Agregati/pred_agregat_18_19.csv"
|
|||
|
)
|
|||
|
)
|
|||
|
|
|||
|
|
|||
|
#----------------------------- //MAIN PART// ---------------------------------#
|
|||
|
|
|||
|
|
|||
|
#--------------------------- FACULTY DESCRIPTIVE STATISTICS --------------------------------#
|
|||
|
# Za potrebe Latex tabel, kjer primerjamo povpre<72>je posameznega izvajalca ali programa
|
|||
|
# s povpre<72>jem celotne fakultete, za posamezne komponente izra<72>unamo <20>e to.
|
|||
|
|
|||
|
# Povpre<72>je izvajalcev celotne fakultete-----------------------------------
|
|||
|
F.avg.izv <-
|
|||
|
colMeans(povprecja.izvajalci[c(paste0(vars.izvajalec$cont$vars, "_mean"),
|
|||
|
"izvajalec.ocena.SKUPAJ")], na.rm = TRUE)
|
|||
|
# For Latex table purposes
|
|||
|
F.avg.izv <- round(F.avg.izv, 1)
|
|||
|
#------------------------------------------------------------------------#
|
|||
|
|
|||
|
# Povpre<72>ja izvajalcev pri vseh predmetih------------------------------------
|
|||
|
# Povpre<72>je vsek izvajalcev fakultete in insert v tabelo 1.3 (zadnja vrstica)
|
|||
|
# Predmeti, ki imajo dovolj ocen
|
|||
|
predmeti.izbor <- povprecja.predmeti$predmet.sifra
|
|||
|
# Preverimo kateri izvajalci vse sodelujejo pri dolo<6C>enem predmetu (IPP)
|
|||
|
izvajalci.izbor <- unique(povprecja.izvajalci$izvajalec.sifra)
|
|||
|
# Naredimo Podmno<6E>ico
|
|||
|
izbor.izvajalci <-
|
|||
|
subset(
|
|||
|
povprecja.izvajalci,
|
|||
|
predmet.sifra %in% predmeti.izbor &
|
|||
|
izvajalec.sifra %in% izvajalci.izbor
|
|||
|
)
|
|||
|
# Izra<72>unamo povpre<72>je IPP
|
|||
|
izbor.izvajalci.skupaj <-
|
|||
|
aggregate(izbor.izvajalci[c(paste0(vars.izvajalec$cont$vars, "_mean"),
|
|||
|
"izvajalec.ocena.SKUPAJ")],
|
|||
|
by = izbor.izvajalci[c("izvajalec.sifra", "predmet.sifra")],
|
|||
|
FUN = mean,
|
|||
|
na.rm = TRUE)
|
|||
|
# TOTAL Mean of all IPP (izvajalci pri predmetih)
|
|||
|
F.avg.ipp <-
|
|||
|
colMeans(izbor.izvajalci.skupaj[3:ncol(izbor.izvajalci.skupaj)], na.rm =
|
|||
|
TRUE)
|
|||
|
#---------------------------------------------------------------------------#
|
|||
|
|
|||
|
|
|||
|
# Povpre<72>je predmetov (anketa PRED izpitom, anketa PO izpitu, <20>tudijska praksa) --------------------
|
|||
|
F.avg.pred <-
|
|||
|
colMeans(povprecja.predmeti[c(paste0(vars.cours, "_mean"), "predmet.ocena.SKUPAJ")], na.rm = TRUE)
|
|||
|
F.avg.po <-
|
|||
|
colMeans(povprecja.predmeti.po[c(paste0(vars.cours.po, "_mean"), "predmet.ocena.SKUPAJ")], na.rm = TRUE)
|
|||
|
# For latex tabel purposes we wil change the order of components in F.avg.po
|
|||
|
F.avg.po.tab <- F.avg.po[c(2:4,length(F.avg.po), 1, 5)]
|
|||
|
# Povpre<72>je <20>tudijskih praks
|
|||
|
F.avg.prak <-
|
|||
|
colMeans(povprecja.predmeti.po[c(paste0(vars.predmet$cont$praksa, "_mean"),
|
|||
|
"predmet.ocena.SKUPAJ.praksa")], na.rm = TRUE)
|
|||
|
|
|||
|
# Povpre<72>je Ustreznost KT
|
|||
|
F.avg.KT <-
|
|||
|
colMeans(povprecja.predmeti.po["predmet.ocena.krediti_mean"], na.rm = TRUE)
|
|||
|
# Povpre<72>ni Standardni odklon za ustreznost KT
|
|||
|
F.avg.sd.KT <-
|
|||
|
colMeans(povprecja.predmeti.po["predmet.ocena.krediti_sd"], na.rm = TRUE)
|
|||
|
# Povpre<72>ni odstotek odgovorov na lestvici od 1 do 5
|
|||
|
F.avg.KT.likert <-
|
|||
|
colMeans(povprecja.predmeti.po[paste0("krediti_razporejanje_pct_", 1:5)], na.rm = TRUE)
|
|||
|
|
|||
|
# Povpre<72>je kompetence
|
|||
|
F.avg.kom <-
|
|||
|
colMeans(povprecja.predmeti.po["predmet.ocena.kompetence_mean"], na.rm = TRUE)
|
|||
|
# Povpre<72>ni Standardni odklon za kompetence
|
|||
|
F.avg.sd.kom <-
|
|||
|
colMeans(povprecja.predmeti.po["predmet.ocena.kompetence_sd"], na.rm = TRUE)
|
|||
|
F.avg.kom.likert <-
|
|||
|
colMeans(povprecja.predmeti.po[paste0("kompetence1_razporejanje_pct_", 1:5)], na.rm = TRUE)
|
|||
|
|
|||
|
#--------------------------------------------------------------------------------------------#
|
|||
|
|
|||
|
|
|||
|
|
|||
|
# Skupna Povpre<72>ja IZVAJLCEV fakultete glede na STOPNJO ------------------------#
|
|||
|
Fizv <-
|
|||
|
rbind(skupaj = colMeans(povprecja.izvajalci[c(
|
|||
|
"ST_STUD",
|
|||
|
"N_anket",
|
|||
|
"N_anketTotal",
|
|||
|
"sodelujocih.pct",
|
|||
|
"zavrnjenih.pct",
|
|||
|
"neodzivnih.pct",
|
|||
|
"nipouceval.pct"
|
|||
|
)], na.rm = T),
|
|||
|
"1" = colMeans(povprecja.izvajalci[povprecja.izvajalci$STOPNJA == 1, c(
|
|||
|
"ST_STUD",
|
|||
|
"N_anket",
|
|||
|
"N_anketTotal",
|
|||
|
"sodelujocih.pct",
|
|||
|
"zavrnjenih.pct",
|
|||
|
"neodzivnih.pct",
|
|||
|
"nipouceval.pct"
|
|||
|
)], na.rm = T),
|
|||
|
"2" = colMeans(povprecja.izvajalci[povprecja.izvajalci$STOPNJA == 2, c(
|
|||
|
"ST_STUD",
|
|||
|
"N_anket",
|
|||
|
"N_anketTotal",
|
|||
|
"sodelujocih.pct",
|
|||
|
"zavrnjenih.pct",
|
|||
|
"neodzivnih.pct",
|
|||
|
"nipouceval.pct"
|
|||
|
)], na.rm = T))
|
|||
|
|
|||
|
#-------------------------------------------------------------------------------------#
|
|||
|
|
|||
|
|
|||
|
# Skupna Povpre<72>ja PREDMETOV fakultete glede na STOPNJO in glede na SEMESTER IZVAJANJA---------
|
|||
|
# Anketa PRED
|
|||
|
Fpred <-
|
|||
|
rbind(
|
|||
|
skupaj = colMeans(povprecja.predmeti[c("ST_STUD",
|
|||
|
"N_anket",
|
|||
|
"sodelujocih.pct",
|
|||
|
"zavrnjenih.pct",
|
|||
|
"neodzivnih.pct")], na.rm = T),
|
|||
|
"1" = colMeans(povprecja.predmeti[povprecja.predmeti$STOPNJA == 1,
|
|||
|
c("ST_STUD",
|
|||
|
"N_anket",
|
|||
|
"sodelujocih.pct",
|
|||
|
"zavrnjenih.pct",
|
|||
|
"neodzivnih.pct")], na.rm = T),
|
|||
|
"2" = colMeans(povprecja.predmeti[povprecja.predmeti$STOPNJA == 2,
|
|||
|
c("ST_STUD",
|
|||
|
"N_anket",
|
|||
|
"sodelujocih.pct",
|
|||
|
"zavrnjenih.pct",
|
|||
|
"neodzivnih.pct")], na.rm = T),
|
|||
|
"prvi_semester" = colMeans(
|
|||
|
subset(povprecja.predmeti, SEMESTER_IZV %in% prvi_semester)
|
|||
|
[c("ST_STUD",
|
|||
|
"N_anket",
|
|||
|
"sodelujocih.pct",
|
|||
|
"zavrnjenih.pct",
|
|||
|
"neodzivnih.pct")],
|
|||
|
na.rm = T
|
|||
|
),
|
|||
|
"drugi_semester" = colMeans(
|
|||
|
subset(povprecja.predmeti, SEMESTER_IZV %in% drugi_semester)
|
|||
|
[c("ST_STUD",
|
|||
|
"N_anket",
|
|||
|
"sodelujocih.pct",
|
|||
|
"zavrnjenih.pct",
|
|||
|
"neodzivnih.pct")],
|
|||
|
na.rm = T
|
|||
|
)
|
|||
|
)
|
|||
|
|
|||
|
# ANKETA PO
|
|||
|
Fpo <-
|
|||
|
rbind(
|
|||
|
skupaj = colMeans(povprecja.predmeti.po[c("ST_STUD",
|
|||
|
"N_anket",
|
|||
|
"sodelujocih.pct",
|
|||
|
"zavrnjenih.pct",
|
|||
|
"neodzivnih.pct")], na.rm = T),
|
|||
|
"1" = colMeans(povprecja.predmeti.po[povprecja.predmeti.po$STOPNJA == 1,
|
|||
|
c("ST_STUD",
|
|||
|
"N_anket",
|
|||
|
"sodelujocih.pct",
|
|||
|
"zavrnjenih.pct",
|
|||
|
"neodzivnih.pct")], na.rm = T),
|
|||
|
"2" = colMeans(povprecja.predmeti.po[povprecja.predmeti.po$STOPNJA == 2,
|
|||
|
c("ST_STUD",
|
|||
|
"N_anket",
|
|||
|
"sodelujocih.pct",
|
|||
|
"zavrnjenih.pct",
|
|||
|
"neodzivnih.pct")], na.rm = T),
|
|||
|
"prvi_semester" = colMeans(
|
|||
|
subset(povprecja.predmeti.po, SEMESTER_IZV %in% prvi_semester)
|
|||
|
[c("ST_STUD",
|
|||
|
"N_anket",
|
|||
|
"sodelujocih.pct",
|
|||
|
"zavrnjenih.pct",
|
|||
|
"neodzivnih.pct")],
|
|||
|
na.rm = T
|
|||
|
),
|
|||
|
"drugi_semester" = colMeans(
|
|||
|
subset(povprecja.predmeti.po, SEMESTER_IZV %in% drugi_semester)
|
|||
|
[c("ST_STUD",
|
|||
|
"N_anket",
|
|||
|
"sodelujocih.pct",
|
|||
|
"zavrnjenih.pct",
|
|||
|
"neodzivnih.pct")],
|
|||
|
na.rm = T
|
|||
|
)
|
|||
|
)
|
|||
|
#---------------------------------------------------------------------------------#
|
|||
|
|
|||
|
|
|||
|
|
|||
|
##################
|
|||
|
# 1.8.2019 Se vrnemo k temu delu ####################################
|
|||
|
##################
|
|||
|
|
|||
|
|
|||
|
|
|||
|
#------------------------------- Poglavje SPLO<4C>NA METODOLOGIJA -------------------------------------#
|
|||
|
#Podatki, ki generirajo vrednosti v latex datoteki metodolosko.pojasnilo. Glej mapo latexkosi
|
|||
|
# S funkcijo scan preberemo tex. datoteko metodolosko.pojasnilo.tex
|
|||
|
# Gre za poglavje, ki se nahajaa na koncu (skoraj) vsakega PDF poro<72>ila
|
|||
|
tex.okvir <-
|
|||
|
scan(
|
|||
|
"Evalvacija/latexkosi/metodolosko.pojasnilo.tex",
|
|||
|
character(0),
|
|||
|
sep = "\n",
|
|||
|
quiet = TRUE,
|
|||
|
encoding = 'UTF-8'
|
|||
|
)
|
|||
|
|
|||
|
tex.okvir.izv <-
|
|||
|
scan(
|
|||
|
"Evalvacija/latexkosi/metodolosko.pojasnilo.izv.tex",
|
|||
|
character(0),
|
|||
|
sep = "\n",
|
|||
|
quiet = TRUE,
|
|||
|
encoding = 'UTF-8'
|
|||
|
)
|
|||
|
|
|||
|
#<23>tevilka oz povpre<72>ji za dodiplomski in podpilomski <20>tudij za anketo PRED izpitom
|
|||
|
## ZIMSKI SEMESTER ##
|
|||
|
# <20>tevilo predmetov
|
|||
|
metod_XXX <- length(unique(subset(sifrant, SEMESTER_IZV %in% prvi_semester)$IDP))
|
|||
|
# <20>tevilo pedagogov
|
|||
|
metod_YYY <- length(unique(subset(sifrant, SEMESTER_IZV %in% prvi_semester)$IDPEDAGOGA))
|
|||
|
# <20>tevilo izvedb..
|
|||
|
metod_UUU <- nrow(subset(sifrant, SEMESTER_IZV %in% prvi_semester))
|
|||
|
# number of prepared evaluations for courses
|
|||
|
metod_VVV <- metod_XXX
|
|||
|
# number of prepared evaluations for lecturers
|
|||
|
metod_RRR <- metod_UUU
|
|||
|
tex.okvir <- gsub(pattern=":IME:", replacement=fakulteta, x=tex.okvir)
|
|||
|
|
|||
|
# Tekst v poglavju Metodolo<6C>ko pojasnilo
|
|||
|
# da npr. v I. semestru vsak predmet izvaja 2.2 (:RRR:/:XXX:) pedagogov 266/123
|
|||
|
method_IZR <- round(metod_RRR/metod_XXX, digits = 1)
|
|||
|
#vsak pedagog pa v povpre<72>ju izvaja 2.5 (266/105) predmetov.
|
|||
|
method_IZR1 <- round(metod_RRR/metod_YYY, digits = 1)
|
|||
|
#Trenutni datum oz stanje izvoza, ki se izpi<70>e pod tabelo v poglavju: Metodolo<6C>ko pojasnilo
|
|||
|
date <- format(Sys.time(), "%d.%m.%Y")
|
|||
|
|
|||
|
|
|||
|
|
|||
|
# Vpra<72>anje komponente Kompetence
|
|||
|
Kompetence.note <- "{\\footnotesize \\textit{* \\guillemotright Tekst vpra<EFBFBD>anja: V kolik<EFBFBD>ni meri
|
|||
|
ste pri predmetu pridobili pri<EFBFBD>akovane \\textbf{kompetence}? \\guillemotleft }}"
|
|||
|
|
|||
|
# Kvantilni rangi
|
|||
|
kvan.pojas <- "{\\footnotesize \\textit{* Vrednost za \\guillemotright <EFBFBD>t.odgovorov\\guillemotleft\\ je kvantilni rang
|
|||
|
za odgovarjajo<EFBFBD>e vrednosti, vendar ni obarvan, saj gre za administrativni podatek.}}"
|
|||
|
kvan.pojas1 <- "{\\footnotesize \\textit{* Gre za vse predmete z vsaj 4 odgovori (tudi predmete drugih programov,
|
|||
|
<EFBFBD>e so bili izbirni), ki so jih vpisali <20>tudenti dolo<EFBFBD>enega programa. \\newline ** Vrednost za \\guillemotright <20>t.odgovorov\\guillemotleft\\
|
|||
|
je kvantilni rang za odgovarjajo<EFBFBD>e vrednosti v tabeli 1.1 (polo<EFBFBD>aj predmeta med vsemi predmeti dolo<EFBFBD>enega programa),
|
|||
|
vendar ni obarvan, saj gre za administrativni podatek.}}"
|
|||
|
kvan.pojas3 <- c(paste0("{\\footnotesize \\textit{* Vrednost za \\guillemotright <EFBFBD>t.odgovorov\\guillemotleft\\ je kvantilni rang
|
|||
|
za odgovarjajo<EFBFBD>e vrednosti v tabeli 1.3 (polo<EFBFBD>aj IPP med vsemi IPP dolo<EFBFBD>enega programa v pogledu <20>tevila vpisanih <20>tudentov).
|
|||
|
\\newline ** Gre za vse predmete z vsaj 4 odgovori
|
|||
|
(vklju<EFBFBD>no s predmeti drugih programov, <20>e so bili izbirni), ki so jih vpisali <20>tudenti dolo<EFBFBD>enega programa.
|
|||
|
\\newline *** \\guillemotright <20>t. IPP\\guillemotleft \\ - <20>tevilo vseh izvajalcev pri predmetih na dolo<EFBFBD>enem programu
|
|||
|
(v povpre<EFBFBD>ju ima vsak predmet ", method_IZR ," izvajalca).}}"))
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
##############################################################
|
|||
|
# KOMENTARJI PRI POVPRE<52>JIH IZVAJALCEV HABILITACIJSKA KOMISIJA
|
|||
|
# K povpre<72>ni ocenam izvajalcev dodamo <20>e komentarje <20>tudentov
|
|||
|
# # Uporabimo le v pimeru, da delamo poro<72>ila za habilitacijsko komisijo
|
|||
|
# Habilitacijska <- TRUE
|
|||
|
# if (Habilitacijska == TRUE) {
|
|||
|
# povprecja.izvajalci.habili <-
|
|||
|
# merge(
|
|||
|
# povprecja.izvajalci,
|
|||
|
# data.izvajalci[c(
|
|||
|
# "izvajalec.sifra",
|
|||
|
# "predmet.sifra",
|
|||
|
# "izvajalec.komentar.dobro",
|
|||
|
# "izvajalec.komentar.slabo"
|
|||
|
# )],
|
|||
|
# by = c("izvajalec.sifra", "predmet.sifra"),
|
|||
|
# all = T,
|
|||
|
# sort = F
|
|||
|
# )
|
|||
|
# # Ustvarimo csv datoteki, ki ju nato uporabimo za generiranje poro<72>il TRENDOV in HABILITACIJSKE KOMISIJE
|
|||
|
# write.csv2(povprecja.izvajalci.habili,
|
|||
|
# paste0("povprecja.izvajalci_",format(Sys.Date(), "%Y"),".csv"))
|
|||
|
# write.csv2(povprecja.predmeti, paste0("povprecja.predmeti_",format(Sys.Date(), "%Y"),".csv"))
|
|||
|
# }
|
|||
|
#############################################################
|
|||
|
povprecja.predmeti <- merge(povprecja.predmeti, poNLurkerji, by = "predmet.sifra", all = TRUE, sort = FALSE)
|
|||
|
|
|||
|
|
|||
|
|
|||
|
#----------------------------------- TRENDI ZA <20>TUDIJSKE PROGRAME PO PREMDETIH ------------------------------#
|
|||
|
# Tredni <20>tudijskih programov <20>lanice po predmetih
|
|||
|
# Za vsako leto <20>elimo imeti podatke posebej, da jih zapi<70>emo v skupno mapo
|
|||
|
trendi.prog.predmeti <- TRUE
|
|||
|
if (trendi.prog.predmeti == TRUE) {
|
|||
|
# Dodamo <20>e stolpec let po katerem bomo filtrirali trende
|
|||
|
year <- strsplit(semester.leto, " ")[[1]]
|
|||
|
year <- grep("/", year, value = TRUE) # dates
|
|||
|
povprecja.predmeti.programi$leto <- year
|
|||
|
povprecja.predmeti.programi.PO$leto <- year
|
|||
|
# Anketa PRED------------------------------
|
|||
|
#(dodamo letnico da bo razvidno
|
|||
|
# za katero leto imamo podatke)
|
|||
|
write.csv2(
|
|||
|
povprecja.predmeti.programi,
|
|||
|
paste0(
|
|||
|
"povprecja.predmeti.programi.pred.",
|
|||
|
as.numeric(format(Sys.Date(), "%Y")) - 1,
|
|||
|
"_",
|
|||
|
format(Sys.Date(), "%Y"),
|
|||
|
".csv"
|
|||
|
))
|
|||
|
# Anketa PO-----------------------
|
|||
|
write.csv2(
|
|||
|
povprecja.predmeti.programi.PO,
|
|||
|
paste0(
|
|||
|
"povprecja.predmeti.programi.po.",
|
|||
|
as.numeric(format(Sys.Date(), "%Y")) - 1,
|
|||
|
"_",
|
|||
|
format(Sys.Date(), "%Y"),
|
|||
|
".csv"
|
|||
|
))
|
|||
|
# FAKULTETA-------------------------
|
|||
|
# Zapisemo se povprecja za fakulteto,
|
|||
|
# ki jjh bomo zapisali v latex tabelo
|
|||
|
# Najprej pripravimo podatke
|
|||
|
F.tr.df <- c(F.avg.pred, F.avg.po, F.avg.prak["predmet.ocena.SKUPAJ.praksa"])
|
|||
|
names(F.tr.df)[8] <- "predmet.ocena.SKUPAJ.pred"
|
|||
|
names(F.tr.df)[23] <- "predmet.ocena.SKUPAJ.po"
|
|||
|
colnames(F.tr.df) <-
|
|||
|
# Write
|
|||
|
write.csv2(
|
|||
|
F.tr.df,
|
|||
|
row.names = names(F.tr.df),
|
|||
|
paste0(
|
|||
|
"povprecja.fakultete.",
|
|||
|
as.numeric(format(Sys.Date(), "%Y")) - 1,
|
|||
|
"_",
|
|||
|
format(Sys.Date(), "%Y"),
|
|||
|
".csv"
|
|||
|
)
|
|||
|
)
|
|||
|
}
|
|||
|
#--------------------------------- //TRENDI ZA <20>TUDIJSKE PROGRAME PO PREMDETIH// ----------------------------#
|
|||
|
|
|||
|
###############################################################################
|
|||
|
# 19.1.2019
|
|||
|
# trenutno bomo tu ustvarili funkcijo, ki bo slu<6C>ila za izrisovanje latex tabel pri
|
|||
|
# IZDELAVI PDF PORO<52>IL ZA <20>TUDIJSKE PROGRAME in FAKULTETO
|
|||
|
# Sicer je <20>e tako ali tako preve<76> kode, ampak bomo naknadno vse preuredili
|
|||
|
# ANKETA PRED
|
|||
|
tb.lat <-
|
|||
|
function(data,
|
|||
|
tabname,
|
|||
|
row.just,
|
|||
|
namen = "PRED",
|
|||
|
Agregati = FALSE,
|
|||
|
agregatNote = FALSE) {
|
|||
|
# Funkcija sprejme podatkovni okvir, ime tabele,
|
|||
|
# velikost tabele in <20>tevilo stolpcev
|
|||
|
|
|||
|
# First check if we are doing latex table
|
|||
|
# for the coruse or for the lecturer
|
|||
|
# due to different columns in latex table
|
|||
|
if (namen == "PRED") { # PRED
|
|||
|
n.col = c("c|", rep_len("c", 7), "|c")
|
|||
|
note <- paste("{\\footnotesize \\textit{}}")
|
|||
|
} else if (namen == "PO") { # PO
|
|||
|
n.col = c("c|", rep_len("c", 3), "|c", "|c", "c")
|
|||
|
note <- paste(
|
|||
|
"{\\footnotesize \\textit{* {\\color{Orange}Oran<EFBFBD>no}
|
|||
|
so ozna<EFBFBD>ena {\\color{Orange}opozorilna} odstopanja
|
|||
|
({\\color{Orange}2.4-2.6}) in
|
|||
|
({\\color{Orange}3.4-3.6}),
|
|||
|
{\\color{BrickRed}rde<EFBFBD>e} pa
|
|||
|
{\\color{BrickRed}kriti<EFBFBD>na}
|
|||
|
odstopanja (pod {\\color{BrickRed}2.4})
|
|||
|
in (nad {\\color{BrickRed}3.6}). }}"
|
|||
|
)
|
|||
|
} else if (namen == "IPP") { # Izvajalci pri predmetih
|
|||
|
n.col = c("c|", rep_len("c", 6), "|c")
|
|||
|
note <- paste(
|
|||
|
"{\\footnotesize \\textit{*
|
|||
|
<20>t. IPP - <20>tevilo vseh
|
|||
|
izvajalcev pri predmetih na
|
|||
|
dolo<EFBFBD>enem programu.}}"
|
|||
|
)
|
|||
|
} else {
|
|||
|
# If we are doing tables for Trends
|
|||
|
n.col = c(rep_len("c", ncol(data)))
|
|||
|
note <- NULL
|
|||
|
}
|
|||
|
|
|||
|
# Preverimo ali delamo Latex tabelo za potrebe Agregatov
|
|||
|
if (Agregati == TRUE) {
|
|||
|
if ("Povp. a" %in% colnames(data) & "Povp. b" %in% colnames(data)) {
|
|||
|
n.col = c(rep_len("c", ncol(data) - 2), "|c", "c")
|
|||
|
} else if ("Povp. a" %in% colnames(data) & !"Povp. b" %in% colnames(data)) {
|
|||
|
n.col = c(rep_len("c", ncol(data) - 1), "|c")
|
|||
|
} else {
|
|||
|
n.col = c(rep_len("c", ncol(data)))
|
|||
|
}
|
|||
|
note <- NULL
|
|||
|
}
|
|||
|
|
|||
|
# Update 2.11.2019
|
|||
|
# Pri agregatih PROGRAMOV bomo v tabeli
|
|||
|
# kjer predstavljamo kreditne to<74>ke
|
|||
|
# Dodali <20>e opombo pod tabelo glede
|
|||
|
# barvanja
|
|||
|
if (agregatNote == TRUE) {
|
|||
|
note <- paste(
|
|||
|
"{\\footnotesize \\textit{* {\\color{Orange}Oran<EFBFBD>no}
|
|||
|
so ozna<EFBFBD>ena {\\color{Orange}opozorilna} odstopanja
|
|||
|
({\\color{Orange}2.4-2.6}) in
|
|||
|
({\\color{Orange}3.4-3.6}),
|
|||
|
{\\color{BrickRed}rde<EFBFBD>e} pa
|
|||
|
{\\color{BrickRed}kriti<EFBFBD>na}
|
|||
|
odstopanja (pod {\\color{BrickRed}2.4})
|
|||
|
in (nad {\\color{BrickRed}3.6}). }}"
|
|||
|
)
|
|||
|
}
|
|||
|
|
|||
|
# Latex table
|
|||
|
table <- capture.output(
|
|||
|
Hmisc::latex(
|
|||
|
data,
|
|||
|
caption = tabname,
|
|||
|
rowlabel = "",
|
|||
|
file = "",
|
|||
|
where = "H",
|
|||
|
rowlabel.just = row.just,
|
|||
|
multicol = FALSE,
|
|||
|
longtable = TRUE,
|
|||
|
lines.page = 1000, # table will be 1000 line long per page
|
|||
|
insert.bottom = note,
|
|||
|
col.just = n.col
|
|||
|
)
|
|||
|
)
|
|||
|
return(table)
|
|||
|
}
|
|||
|
|
|||
|
#----------------------#
|
|||
|
# Update 22.12.2019
|
|||
|
# Za potrebe poro<72>il habilitacijske komisije
|
|||
|
# moramo k povpre<72>jem izvajalcev dodati <20>e
|
|||
|
# komentarje izvajalcev pri posameznem predmetu
|
|||
|
# vse skupaj pa zapisati v bazo iz katere
|
|||
|
# bomo nato v habilitacijskem poro<72>ilu
|
|||
|
# za posamezen predemt zapisali komentarje
|
|||
|
izvajalci.komentarji <-
|
|||
|
merge(
|
|||
|
povprecja.izvajalci,
|
|||
|
data.izvajalci[c(
|
|||
|
"izvajalec.sifra",
|
|||
|
"predmet.sifra",
|
|||
|
"izvajalec.komentar.dobro",
|
|||
|
"izvajalec.komentar.slabo"
|
|||
|
)],
|
|||
|
by = c("izvajalec.sifra", "predmet.sifra"),
|
|||
|
all = T,
|
|||
|
sort = F
|
|||
|
)
|
|||
|
|
|||
|
year <- strsplit(semester.leto, " ")[[1]]
|
|||
|
year <- grep("/", year, value = TRUE) # dates
|
|||
|
year <- gsub("/", "-", year) # dates
|
|||
|
izvajalci.komentarji$leto <- year
|
|||
|
# Ustvarimo csv datoteki, ki ju nato uporabimo za generiranje poro<72>il TRENDOV in HABILITACIJSKE KOMISIJE
|
|||
|
write.csv2(izvajalci.komentarji, paste0("Evalvacija/results/",fakulteta,"/Trendi/izvajalci.komentarji.csv"))
|
|||
|
|