# Created by Miha 3.9.2019 ########################## # AGREGAT OCEN KOMPONENT # ########################## #------------------- DESCRIPTION --------------------# # Ker imamo v primeru Trendov, veliko predmetov, kjer # pri predmetu v določenem študijskem letu ni bilo # dovolj odgovor (manj kot štiri), bomo naredili # AGREGATE, to pomeni, da bomo za vsako zaporedje # študijskih let, kjer je število odgovorov večje # kot 4, naredili dodatni stolpec, ki bo agregat # povprečja skupneg aštevila odgovor za zaporedni # študijski leti, kjer je vsota odgovorov enaka ali # večja 4. # Agegati nastopajo povsod tam, kjer so TRENDI #----------------- //DESCRIPTION// ------------------# # Priprava podatkov za tabele (barvanje, računanje, okelpaji) source("Evalvacija/R/funkcije/agregati_funkcije.R", encoding = "UTF-8") #---------------------------------------------------------------------# #------------------------ IMPORT DATA "BREZ CENZURE" -----------------------------# #' @IMPORTANT!!! iz prejšnjih študijsih let imamo v bazi PRED tudi podatke za #' # anketo PO, ki pa jih ignoriramo, saj smo naredili ločen izvoz za PO razen #' za študijsko leto 14/15 ko smo delali še testno. # Agregati za IZVAJALCA (podatki po letih) ------------------------ ag.izv <- list.files(path = "../../Agregati/FDV", pattern = "izv") # Agregati za PREDMET (Anketa PRED, podatki po letih) ------------- ag.pred <- list.files(path = "../../Agregati/FDV", pattern = "pred") # Agregati za PREDMET (Anketa PO, podatki po letih) ------------- ag.po <- list.files(path = "../../Agregati/FDV", pattern = "po") # PREVERI!!!!!!!!!!! #-------------------- SET WORKING DIREKTORY -----------------------# # Check which PC we are working from: WORk OR HOME fpath <- file.path("C:/MIHA DELO/FDV PROJEKT EVALVACIJE UL/EVALVACIJE 2018_2019 PREDELAVA/AVGUST UPDATE KODE/Agregati/FDV") if (!dir.exists(fpath)){ output_dir <- "E:/Work/Vasja Vehovar/EVALVACIJE 2018_2019 PREDELAVA/AVGUST UPDATE KODE/Agregati/FDV" setwd(output_dir) } else { setwd(fpath) } #------------------ //SET WORKING DIREKTORY// ---------------------# # Agregat za Izvajalce # #=====================# agr.izv <- lapply(ag.izv, function(x) read.csv2(x, stringsAsFactors = FALSE, header = TRUE)) # Agregat za predmete (PRED) # #============================# agr.pred <- lapply(ag.pred, function(x) read.csv2(x, stringsAsFactors = FALSE, header = TRUE)) # Agregat za predmete (PO, KT, KOMEPTENCE IN PRAKSO) # #====================================================# agr.po <- lapply(ag.po, function(x) read.csv2(x, stringsAsFactors = FALSE, header = TRUE)) #---------------------- //IMPORT DATA "BREZ CENZURE"// ---------------------------# #------------------ GET DATA FOR AGREGAT PURPOSES -------------------# # Means, number os answers and ID of all lecturers or courses # which will be implemented as AGREGATI # PRED ------------ agreg.pred <- lapply(agr.pred, function(x) agregat(x, namen = "PRED")) # PO (inlcuding kompetence, praksa, KT) ----- agreg.po <- lapply(agr.po, function(x) agregat(x, namen = "PO")) # IPP -------------- agreg.ipp <- lapply(agr.izv, function(x) agregat(x, namen = "IPP")) agreg.ipp <- lapply(agreg.ipp, function(x) { x$NAZIV.PEDAGOGA <- odstNaziv(x$NAZIV.PEDAGOGA) return(x) }) agreg.ipp <- lapply(agreg.ipp, function(x) { x$IPP <- paste0(x$NAZIV.PEDAGOGA, " (",x$ime.predmeta ,")") return(x) }) # IZV ------------- agreg.izv <- lapply(agr.izv, function(x) agregat(x, namen = "IZV")) #---------------- //GET DATA FOR AGREGAT PURPOSES// -----------------# #------------------ EXPORT DATA FOR ARHIV -----------------# # Export into excel according to year # For Arhiv pruposes and for Latex tables purposes #' @Update: Now (9.9.2019) we will use this data for #' trends library(xlsx) files <- list(agreg.ipp, agreg.izv, agreg.pred, agreg.po) name <- c("IPP_agregat", "IZV_agregat", "PRED_agregat", "PO_agregat") for (i in 1:unique(sapply(files, length))) { for (ii in 1: length(files)) { write.xlsx( x = files[[ii]][[i]], file = paste0("Agregati data/",name[ii], ".xlsx"), sheetName = gsub("\\/", "_", unique(files[[ii]][[i]]$leto)), append = TRUE ) } } #---------------- //EXPORT DATA FOR ARHIV// ---------------# imen.c <- function(x) { ifelse( !"N_anket_po_izpitu" %in% colnames(x), colnames(x)[colnames(x) == "N_anket"] <- "N_anket_po_izpitu", colnames(x) ) return(x) } agreg.po <- lapply(agreg.po, imen.c) #------------------- PRAPARE DATA FOR AGREGATION -------------------# out.pred <- NULL out.po <- NULL out.ipp <- NULL out.izv <- NULL # Načeloma imamo za vse namene (PRED, PO, IPP) podatke # za enako število let, zato v loopu vzamemo kar # seq_along(agreg.pred) for (i in seq_along(agreg.pred)) { # Testno delamo za štiri leta, ker imamo trenutno 5 let le za FDV in FGG # Prepare data for ANKETA PRED --------------------------- df.pred <- agreg.pred[[i]][grepl( "zadovoljstvo_mean|usklajenost_mean|samostojnost_mean|literatura_mean|obvescenost_mean|informiranost_mean|znanje_mean|\\|ime.predmeta|leto|program.studentov|program.studentov.ime", colnames(agreg.pred[[i]]) )] # Write data out.pred[[i]] <- df.pred # Rbind in data frame with years agregati.pred <- do.call("rbind", out.pred) # Prepare data for ANKETA PO --------------------------- df.po <- agreg.po[[i]][grepl( "vsebine_mean|naloge_mean|kriteriji_mean|kompetence_mean|krediti_mean|\\|ime.predmeta|leto|program.studentov|program.studentov.ime", colnames(agreg.po[[i]]) )] # Write data out.po[[i]] <- df.po # Rbind in data frame with years agregati.po <- do.call("rbind", out.po) # Prepare data for ANKETA PRED IPP --------------------------- df.ipp <- agreg.ipp[[i]][grepl( "kakovost_mean|pripravljenost_mean|razumljivost_mean|zanimivost_mean|kriticnost_mean|korektnost_mean|znanje_mean|\\|ime.predmeta|NAZIV.PEDAGOGA|izvajalec.sifra|leto|IPP", colnames(agreg.ipp[[i]]) )] # Write data out.ipp[[i]] <- df.ipp # Rbind in data frame with years agregati.ipp <- do.call("rbind", out.ipp) # Prepare data for ANKETA PRED IZVAJALEC --------------------------- df.izv <- agreg.izv[[i]][grepl( "kakovost_mean|pripravljenost_mean|razumljivost_mean|zanimivost_mean|kriticnost_mean|korektnost_mean|znanje_mean|\\|ime.predmeta|predmet.sifra|NAZIV.PEDAGOGA|izvajalec.sifra|leto", colnames(agreg.izv[[i]]) )] # Write data out.izv[[i]] <- df.izv # Rbind in data frame with years agregati.izv <- do.call("rbind", out.izv) } #----------------- //PRAPARE DATA FOR AGREGATION// -----------------# # x <- agregati.pred %>% # split(agregati.pred$ime.predmeta, agregati.pred$leto) # x <- x[["BP Zgodovina mednarodnih odnosov"]] # Split evaluations for courses/elcturer by predmet šifra # x <- x[["BP Retorika javnih diskurzov"]] # x <- x[["BP Televizijsko novinarstvo in novi mediji"]] # x <- agregati.pred %>% # split(agregati.pred$ime.predmeta, agregati.pred$leto) # x <- x[["BD Drugi tuji strokovni jezik I: angleščina"]] # Podatke v listu bomo za potrebe trendov # najprej ločili glede na šifro predmeta in/ali šifro izvajalca #' na ločenih podatkih naredili kombinacijo (glej funkcijo @kolone) # in nato vse skupaj združili. #' Funkcija @kolone poleg podatkovneg okvirja vrne tudi # stolpec oz. column po imenu "stolpec", kjer # vrednost "Stolpec 1" pomeni, da bomo v lateh naredili # nov stolpec, kamor bomo zapisali vrednost povprečja ter # "Stolpec 2" pomeni, da bomo naerdili ŠE en dodaten stolpec # v latex tabeli. # Če je verdnost NA, pomeni, da bomo predmet zapisali samo v en stolpec # Anketa RPED agregati.pred <- agregati.pred %>% split(agregati.pred$ime.predmeta, agregati.pred$leto) %>% lapply(kolone) %>% do.call(plyr::rbind.fill, .) %>% oklepaj(., agregati = TRUE) # Anketa PO agregati.kom <- agregati.po[grepl("predmet.ocena.kompetence_mean|N_anket_po_izpitu|ime.predmeta|leto", colnames(agregati.po))] agregati.KT <- agregati.po[grepl("predmet.ocena.krediti_mean|N_anket_po_izpitu|ime.predmeta|leto", colnames(agregati.po))] agregati.po <- agregati.po %>% # V anketi Po se skupno povprečje računa brez kompetenc in kT select(-c('predmet.ocena.kompetence_mean',"predmet.ocena.krediti_mean")) %>% rename(N_anket = "N_anket_po_izpitu") %>% split(agregati.po$ime.predmeta, agregati.po$leto) %>% lapply(kolone) %>% do.call(plyr::rbind.fill, .) %>% oklepaj(., agregati = TRUE) # Agregati Kopmetence agregati.kom <- agregati.kom %>% rename(N_anket = "N_anket_po_izpitu") %>% split(agregati.kom$ime.predmeta, agregati.kom$leto) %>% lapply(kolone) %>% do.call(plyr::rbind.fill, .) %>% oklepaj(., agregati = TRUE) # Agregati Kreditne točke agregati.KT <- agregati.KT %>% rename(N_anket = "N_anket_po_izpitu") %>% split(agregati.KT$ime.predmeta, agregati.KT$leto) %>% lapply(., function(x) kolone(x, KTtrend = TRUE)) %>% do.call(plyr::rbind.fill, .) %>% oklepaj(., agregati = TRUE) # Anketa IPP agregati.ipp <- agregati.ipp %>% split(agregati.ipp$IPP, agregati.po$leto) %>% .[sapply(., nrow) > 0] %>% lapply(kolone) %>% do.call(plyr::rbind.fill, .) %>% oklepaj(., agregati = TRUE) # Anketa IZV agregati.izv <- agregati.izv %>% split(agregati.izv$izvajalec.sifra) %>% lapply(kolone) %>% do.call(plyr::rbind.fill, .) %>% oklepaj(., agregati = TRUE)