This is how much the students work
rd <- read.xlsx("MA-CMHC Readings.xlsx", sheetIndex = 1)[, 1:8]
rd <- subset(rd, !(is.na(Class) | is.na(rd$Type)))
rd$Week <- ordered(rd$Week)
rd$time <- 0
rd$X..Pages[rd$X..Pages == "NA"] <- "0"
rd$X..Pages[is.na(rd$X..Pages)] <- "0"
rd$X..Pages <- as.numeric(as.character(rd$X..Pages))
rd$Work[is.na(rd$Work)] <- 0
rd$time[rd$Type == "JA"] <- rd$X..Pages[rd$Type == "JA"]/10
rd$time[rd$Type == "ET"] <- rd$X..Pages[rd$Type == "ET"]/10
rd$time[rd$Type == "TT"] <- rd$X..Pages[rd$Type == "TT"]/15
rd$time <- rd$time + rd$Work
Here is a summary by week
summary(time ~ Week * Cohort.Year, rd, fun = sum, method = "cross")
##
## sum by Week, Cohort.Year
##
## +----+
## |N |
## |time|
## +----+
## +----+-------+-------+-------+
## |Week| 1 | 2 | ALL |
## +----+-------+-------+-------+
## | 1 | 2 | 4 | 6 |
## | | 7.200| 4.833| 12.033|
## +----+-------+-------+-------+
## | 2 | 5 | 5 | 10 |
## | | 15.700| 16.933| 32.633|
## +----+-------+-------+-------+
## | 3 | 5 | 5 | 10 |
## | | 18.033| 16.233| 34.267|
## +----+-------+-------+-------+
## | 4 | 6 | 6 | 12 |
## | | 24.967| 10.000| 34.967|
## +----+-------+-------+-------+
## | 5 | 6 | 5 | 11 |
## | | 13.267| 11.767| 25.033|
## +----+-------+-------+-------+
## | 6 | 7 | 5 | 12 |
## | | 15.667| 11.500| 27.167|
## +----+-------+-------+-------+
## | 7 | 2 | 4 | 6 |
## | | 6.467| 11.467| 17.933|
## +----+-------+-------+-------+
## | 8 | 7 | 6 | 13 |
## | | 18.300| 14.533| 32.833|
## +----+-------+-------+-------+
## | 9 | 4 | 2 | 6 |
## | | 20.733| 2.900| 23.633|
## +----+-------+-------+-------+
## | 10 | 5 | 2 | 7 |
## | | 16.200| 3.133| 19.333|
## +----+-------+-------+-------+
## | 11 | 3 | 1 | 4 |
## | | 12.200| 0.000| 12.200|
## +----+-------+-------+-------+
## | 12 | 5 | 2 | 7 |
## | | 24.067| 2.000| 26.067|
## +----+-------+-------+-------+
## | 13 | 5 | 2 | 7 |
## | | 16.267| 12.500| 28.767|
## +----+-------+-------+-------+
## | 14 | 2 | 2 | 4 |
## | | 3.567| 12.500| 16.067|
## +----+-------+-------+-------+
## | 15 | 3 | 2 | 5 |
## | | 0.600| 10.000| 10.600|
## +----+-------+-------+-------+
## | ALL| 67 | 53 |120 |
## | |213.233|140.300|353.533|
## +----+-------+-------+-------+
Or by type
summary(time ~ Week * Class, rd, fun = sum, method = "cross")
##
## sum by Week, Class
##
## +----+
## |N |
## |time|
## +----+
## +----+--------+--------+--------+--------+--------+-------+
## |Week|Psy 6000|Psy 6200|Psy 6320|Psy 6341|Psy 6360| ALL |
## +----+--------+--------+--------+--------+--------+-------+
## | 1 | 0 | 0 | 3 | 1 | 2 | 6 |
## | | | | 4.833| 0.000| 7.200| 12.033|
## +----+--------+--------+--------+--------+--------+-------+
## | 2 | 0 | 1 | 3 | 2 | 4 | 10 |
## | | | 2.400| 6.000| 10.933| 13.300| 32.633|
## +----+--------+--------+--------+--------+--------+-------+
## | 3 | 1 | 1 | 3 | 2 | 3 | 10 |
## | | 3.300| 4.133| 7.000| 9.233| 10.600| 34.267|
## +----+--------+--------+--------+--------+--------+-------+
## | 4 | 1 | 2 | 3 | 3 | 3 | 12 |
## | | 2.200| 7.533| 5.500| 4.500| 15.233| 34.967|
## +----+--------+--------+--------+--------+--------+-------+
## | 5 | 1 | 2 | 3 | 2 | 3 | 11 |
## | | 1.400| 4.233| 7.100| 4.667| 7.633| 25.033|
## +----+--------+--------+--------+--------+--------+-------+
## | 6 | 1 | 4 | 3 | 2 | 2 | 12 |
## | | 1.533| 6.700| 6.100| 5.400| 7.433| 27.167|
## +----+--------+--------+--------+--------+--------+-------+
## | 7 | 0 | 1 | 2 | 2 | 1 | 6 |
## | | | 4.267| 8.000| 3.467| 2.200| 17.933|
## +----+--------+--------+--------+--------+--------+-------+
## | 8 | 1 | 3 | 3 | 3 | 3 | 13 |
## | | 4.533| 6.133| 7.433| 7.100| 7.633| 32.833|
## +----+--------+--------+--------+--------+--------+-------+
## | 9 | 1 | 1 | 0 | 2 | 2 | 6 |
## | | 4.867| 8.533| | 2.900| 7.333| 23.633|
## +----+--------+--------+--------+--------+--------+-------+
## | 10 | 1 | 2 | 0 | 2 | 2 | 7 |
## | | 1.400| 6.600| | 3.133| 8.200| 19.333|
## +----+--------+--------+--------+--------+--------+-------+
## | 11 | 1 | 0 | 0 | 1 | 2 | 4 |
## | | 3.800| | | 0.000| 8.400| 12.200|
## +----+--------+--------+--------+--------+--------+-------+
## | 12 | 1 | 2 | 0 | 2 | 2 | 7 |
## | | 1.733| 7.700| | 2.000| 14.633| 26.067|
## +----+--------+--------+--------+--------+--------+-------+
## | 13 | 1 | 2 | 0 | 2 | 2 | 7 |
## | | 2.267| 1.500| | 12.500| 12.500| 28.767|
## +----+--------+--------+--------+--------+--------+-------+
## | 14 | 0 | 1 | 0 | 2 | 1 | 4 |
## | | | 0.500| | 12.500| 3.067| 16.067|
## +----+--------+--------+--------+--------+--------+-------+
## | 15 | 0 | 3 | 0 | 2 | 0 | 5 |
## | | | 0.600| | 10.000| | 10.600|
## +----+--------+--------+--------+--------+--------+-------+
## | ALL| 10 | 25 | 23 | 30 | 32 |120 |
## | | 27.033| 60.833| 51.967| 88.333| 125.367|353.533|
## +----+--------+--------+--------+--------+--------+-------+
We can plot overall summing over courses.
rd.pd <- with(rd, summarize(time, by = llist(Cohort.Year, Week), FUN = sum,
stat.name = "time"))
rd.pd <- subset(rd.pd, !is.na(time))
rd.pd$Week <- as.numeric(rd.pd$Week)
xyplot(time ~ Week, rd.pd, group = Cohort.Year, type = "b", auto.key = TRUE)
Now, without summing over courses
rd.pd <- with(rd, summarize(time, by = llist(Cohort.Year, Class, Week), FUN = sum,
stat.name = "time"))
rd.pd$Week <- as.numeric(rd.pd$Week)
rd.pd$Cohort.Year <- ordered(rd.pd$Cohort.Year)
xyplot(time ~ Week | Cohort.Year, rd.pd, group = Class, type = "b", auto.key = TRUE)