estudiantsAulaA1 <- function(estudiants, aules_curs) { df <- merge(estudiants, aules_curs) # df <- subset(df, Aula == "A1") df <- subset(df, Aula == "A1", Noms) # sort per nom df <- df[order(df$Noms), ] return (df) } capacitatLimitada <- function(estudiants, aules_curs, cap_aules) { nEstudiants <- vector() for (curs in aules_curs$Curs){ df <- subset(estudiants, estudiants$Curs == curs) nEstudiants <- c(nEstudiants, nrow(df)) } df <- merge(aules_curs, cap_aules) df <- cbind(df, nEstudiants) df <- subset(df, nEstudiants > Capacitat, Curs) return(df) } # principal estudiants <- read.table("estudiants.txt", header = T, stringsAsFactors=FALSE) cap_aules <- read.table("cap_aules.txt", header = T, stringsAsFactors=FALSE) aules_curs <- read.table("aules_curs.txt", header = T, stringsAsFactors=FALSE) cat("\n") print(estudiants) cat("\n") print(cap_aules) cat("\n") print(aules_curs) df <- estudiantsAulaA1(estudiants, aules_curs) cat("\nEstudiants de l'aula A1\n") print(df) df <- capacitatLimitada(estudiants, aules_curs, cap_aules) cat("\nCursos que no hi caben\n") print(df)