Recoding Report Card Marks
Source:vignettes/articles/obt_recode_rc_to_levels.Rmd
obt_recode_rc_to_levels.Rmd
The obt
package contains a series of functions to recode
report card data into commonly used variables.
Report Card Marks to Achievement Levels
ele_rc |>
mutate(reading_levels = obt_recode_rc_to_levels(reading)) |>
select(school, id, reading, reading_levels) |>
slice_sample(n = 10)
#> # A tibble: 10 × 4
#> school id reading reading_levels
#> <chr> <int> <chr> <fct>
#> 1 Southpark Elementary School 498800 D- Level 1
#> 2 Springfield Elementary School 345317 75 Level 3
#> 3 Degrassi Community School 448177 C- Level 2
#> 4 Shelbyville Elementary School 322254 C+ Level 2
#> 5 Shelbyville Elementary School 143869 B- Level 3
#> 6 Degrassi Community School 357624 B- Level 3
#> 7 Springfield Elementary School 385683 B+ Level 3
#> 8 Shelbyville Elementary School 553525 83 Level 4
#> 9 Springfield Elementary School 206225 82 Level 4
#> 10 Watkins Middle School 211202 C Level 2
Report Card Marks to Met Standard / Did Not Meet Standard
sec_rc |>
mutate(final_ps = obt_recode_rc_L34(final)) |>
select(school, id, course_number, final, final_ps) |>
slice_sample(n = 10)
#> # A tibble: 10 × 5
#> school id course_number final final_ps
#> <chr> <int> <chr> <chr> <chr>
#> 1 Ridgemont HS 873638 SNC1DL 91 met_standard
#> 2 Shermer High School 755191 SNC1D 92 met_standard
#> 3 Ridgemont HS 645212 ENG2D 88 met_standard
#> 4 Degrassi High 715889 SNC1P 55 did_not_meet_standard
#> 5 Degrassi High 705256 GLS1O 70 met_standard
#> 6 Ridgemont HS 718473 HHS4U 74 met_standard
#> 7 Degrassi High 641635 MPM2D 92 met_standard
#> 8 Ridgemont HS 873033 ENG1P 60 did_not_meet_standard
#> 9 Westerburg High School 565324 ENG4U 85 met_standard
#> 10 Ridgemont HS 611516 CHC2D 77 met_standard
Report Card Marks to Pass Fail
Results that are not the traditional alpha/numeric mark remain the same. For example ALT (alternative education), I (Insufficent) and NA (missing data).
ele_rc |>
mutate(read_pass_fail = obt_recode_rc_pass_fail(reading)) |>
select(school, id, reading, read_pass_fail) |>
arrange(read_pass_fail) |>
group_by(read_pass_fail) |>
slice_sample(n = 2)
#> # A tibble: 10 × 4
#> # Groups: read_pass_fail [5]
#> school id reading read_pass_fail
#> <chr> <int> <chr> <chr>
#> 1 Watkins Middle School 196803 ALT ALT
#> 2 Degrassi Community School 375101 ALT ALT
#> 3 Springfield Elementary School 237814 I I
#> 4 Watkins Middle School 247709 I I
#> 5 Shelbyville Elementary School 362950 R fail
#> 6 Springfield Elementary School 340286 R fail
#> 7 Degrassi Community School 198193 A- pass
#> 8 Springfield Elementary School 379305 78 pass
#> 9 Shelbyville Elementary School 117376 NA NA
#> 10 Watkins Middle School 396929 NA NA
Report Letter Grade to Percent
This function will take a column that contains all alpha grades, or a combination of alpha and numeric grades, and convert the alpha grades to a numeric equivalent.
NOTE - this may produce a warning message: NAs introduced by coercion. This means that any non-standard alpha mark has been converted to NA.
- A+ = 90
- A = 85”
- A- = 80
- B+ = 78
- B = 75
- B- = 72”
- C+ = 68
- C = 65
- C- = 62
- D+ = 58
- D = 55
- D- = 52
- D- = 52
- R = 45
- All else = NA
set.seed(168)
ele_rc |>
mutate(math_numeric = obt_recode_letter_percent(mathematics)) |>
select(school, id, mathematics, math_numeric) |>
slice_sample(n = 10)
#> # A tibble: 10 × 4
#> school id mathematics math_numeric
#> <chr> <int> <chr> <dbl>
#> 1 Shelbyville Elementary School 141128 C+ 68
#> 2 Shelbyville Elementary School 251837 73 73
#> 3 Watkins Middle School 527509 B+ 78
#> 4 Springfield Elementary School 337938 78 78
#> 5 Shelbyville Elementary School 552172 78 78
#> 6 Southpark Elementary School 309292 A- 80
#> 7 Shelbyville Elementary School 333046 50 50
#> 8 Watkins Middle School 211346 C+ 68
#> 9 Watkins Middle School 343537 A- 80
#> 10 Springfield Elementary School 530202 C- 62