Load the libraries we’ll use, set output options
Download the overall KS4 performance table. We’ll only use a few of he columns from this though.
The easiest way to geolocate schools seems to be looking up their postcodes in a table we download here from the web.
We download the detailed GCSE performance tables, select the interesting columns and make the names vaguely consistent. Work out the mean grade.
OK, let’s look at just the CS entries. We’ll also work out the proportion of the year group who took CS.
OK. Now we’ve done all that, let’s see what we’ve got here!
Which schools entered more than 90% of their cohort for CS?
Which schools got the best average grades in CS? Let’s say an average of at least an 7.
But look, these are all independents or grammars. Well, maybe not:
Are schools that offer CS different from the others?
## # A tibble: 2 x 6
## OffersSubj n KS2 PP A8 P8
## <lgl> <int> <dbl> <dbl> <dbl> <dbl>
## 1 FALSE 2692 20.7 0.455 29.0 -0.719
## 2 TRUE 2827 28.6 0.267 46.3 -0.0223
Does takeup vary between types of school, e.g. admissions policies?
## # A tibble: 5 x 2
## ADMPOL Offered
## <fct> <dbl>
## 1 COMP 0.749
## 2 SPEC 0.0243
## 3 IND 0.287
## 4 SEL 0.810
## 5 MOD 0.691
OK, so what does determine the chance that a schools offers CS?
##
## Call:
## glm(formula = OffersSubj ~ KS2APS + PTFSM6CLA1A + ADMPOL + EGENDER,
## family = "binomial", data = gcsesubjall)
##
## Deviance Residuals:
## Min 1Q Median 3Q Max
## -2.3306 -0.0711 0.5130 0.6626 3.7820
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -7.71540 1.15057 -6.706 2.00e-11 ***
## KS2APS 0.34157 0.03948 8.652 < 2e-16 ***
## PTFSM6CLA1A -1.31394 0.32010 -4.105 4.05e-05 ***
## ADMPOLSPEC -1.47719 0.35882 -4.117 3.84e-05 ***
## ADMPOLIND -1.75239 0.38996 -4.494 7.00e-06 ***
## ADMPOLSEL -1.61032 0.28405 -5.669 1.44e-08 ***
## ADMPOLMOD -0.49367 0.22033 -2.241 0.0251 *
## EGENDERGIRLS -0.97490 0.17525 -5.563 2.65e-08 ***
## EGENDERBOYS 0.14732 0.24517 0.601 0.5479
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 4743.7 on 3765 degrees of freedom
## Residual deviance: 3098.1 on 3757 degrees of freedom
## (1753 observations deleted due to missingness)
## AIC: 3116.1
##
## Number of Fisher Scoring iterations: 7
Enough with the tables and the models, show us some graphs. Do larger groups get lower scores?
So is their a link between uptake, PP and grades?##
## Call:
## lm(formula = AvGrade ~ Uptake + PTFSM6CLA1A, data = gcsesubjonly)
##
## Residuals:
## Min 1Q Median 3Q Max
## -3.1868 -0.7895 -0.0776 0.7486 3.9174
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 5.65539 0.05844 96.78 <2e-16 ***
## Uptake -2.19263 0.21300 -10.29 <2e-16 ***
## PTFSM6CLA1A -3.39614 0.15271 -22.24 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1.144 on 2445 degrees of freedom
## (379 observations deleted due to missingness)
## Multiple R-squared: 0.2004, Adjusted R-squared: 0.1998
## F-statistic: 306.4 on 2 and 2445 DF, p-value: < 2.2e-16
KS2 as a predictor of grades in GCSE CS:
Adding KS2 SATS into the model:##
## Call:
## lm(formula = AvGrade ~ Uptake + PTFSM6CLA1A + KS2APS, data = gcsesubjonly)
##
## Residuals:
## Min 1Q Median 3Q Max
## -2.7501 -0.6819 -0.0267 0.6212 3.5439
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -8.88211 0.49341 -18.001 <2e-16 ***
## Uptake -2.70387 0.18357 -14.729 <2e-16 ***
## PTFSM6CLA1A -0.40835 0.16536 -2.469 0.0136 *
## KS2APS 0.48328 0.01632 29.616 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.9817 on 2444 degrees of freedom
## (379 observations deleted due to missingness)
## Multiple R-squared: 0.4116, Adjusted R-squared: 0.4109
## F-statistic: 569.9 on 3 and 2444 DF, p-value: < 2.2e-16
Does the admission policy make any difference to grades?
Let’s look at a map of these
Loading the old data and adding columns to our dataframes for comparison. We convert to points using the DfE guidance for this.
These schools are new to CS (not allowing for academy conversion at the moment).
On the other hand, these schools that dropped CS in 2018 (again, not allowing for academy conversion).
Let’s look at the grades for the two years, bearing in mind we have a new spec and grading structure.
And uptake for the two years:
We can compare uptake and achievement changes for the two years:
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## -0.89446 -0.03273 0.01566 0.02696 0.07610 0.98837
## Min. 1st Qu. Median Mean 3rd Qu. Max. NA's
## -3.2500 -0.4704 0.2042 0.2168 0.8644 4.9091 644
And finally, comparing both uptake and grade changes on the same plot.