The objective of today's hackathon is to produce a data-driven report to provide some insight into the FCQ data. We've prepared a slice of the dataset. There are 5000 records in this slice.
The first record looks like
{ "AVG_GRD": 2.98, "Activity_Type": "LEC - Lecture", "AvgCourse": 5.4, "AvgInstructor": 5.6, "Course": "4808", "CourseTitle": "Special Topics in World Areas History", "CrsLvlNum": "4XXX", "CrsPBAColl": "AS", "CrsPBADept": "HIST", "CrsPBADiv": "AH", "Honors": "0", "Hours": 3, "Instruction_Mode": "P - In Person", "Level": "Upper", "NComb": 2, "NIntrFCQ": 1, "N": { "ENROLL": 16, "EOT": 16, "GRADE": 16, "INCOMP": 0, "NOCRED": 0, "PASS": 0, "Ret": 15 }, "PCT": { "A": 0.31, "B": 0.5, "C": 0.12, "C_MINUS_OR_BELOW": 0.06, "D": 0, "DF": 0.06, "F": 0.06, "GRADE": 1, "INCOMP": 0, "WDRAW": 0 }, "RAP": "0", "Section": "001", "Subject": "HIST", "Subject_Label": "History", "Workload": { "Hrs_Wk": "7-9", "Raw": "3.40" }, "YearTerm": "20137", "Instructors": [ { "group": "1 TTT", "name": "MOJOLA, SANYU AMIMO", "title": "ASST PROFESSOR" }, { "group": "1 TTT", "name": "OSBORNE, MYLES GREGORY", "title": "ASST PROFESSOR" } ] }
Study the following examples of aggregate analysis across colleges based
on the CrsPBAColl
field.
return _.filter(data, function(d){
return d['CrsPBAColl']
})
The answer is 4981.
return _.compact(_.uniq(_.pluck(data, 'CrsPBAColl')))
They are AS,BU,EB,EN,GR,JR,LW,MB,XX,AP.
var grps = _.groupBy(data, 'CrsPBAColl')
return _.mapValues(grps, function(d){
return d.length
})
{ "AS": 3237, "BU": 378, "EB": 139, "EN": 573, "GR": 51, "JR": 96, "LW": 176, "MB": 241, "XX": 30, "undefined": 19, "AP": 60 }
var grps = _.groupBy(data, 'CrsPBAColl')
return _.mapValues(grps, function(d){
var enrollNumbers = _.pluck(d, 'N.ENROLL')
return _.sum(enrollNumbers)
})
{ "AS": 119563, "BU": 17523, "EB": 3198, "EN": 27047, "GR": 1177, "JR": 2982, "LW": 5166, "MB": 7034, "XX": 559, "undefined": 384, "AP": 1400 }