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 535080 A- Level 4
#> 2 Shelbyville Elementary School 148374 B+ Level 3
#> 3 Watkins Middle School 517330 C Level 2
#> 4 Degrassi Community School 206498 B- Level 3
#> 5 Shelbyville Elementary School 443053 D+ Level 1
#> 6 Shelbyville Elementary School 224927 B Level 3
#> 7 Watkins Middle School 367910 B Level 3
#> 8 Springfield Elementary School 383306 63 Level 2
#> 9 Shelbyville Elementary School 543836 ALT ALT
#> 10 Springfield Elementary School 256917 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 Westerburg High School 958210 CGC1D 72 met_standard
#> 2 Shermer High School 976978 TTJ3C 79 met_standard
#> 3 Ridgemont HS 827675 PPL1OG 97 met_standard
#> 4 Shermer High School 815195 PPL1O 85 met_standard
#> 5 Shermer High School 903718 ASM3M 74 met_standard
#> 6 Degrassi High 657121 GLC2OCT 60 did_not_meet_standard
#> 7 Ridgemont HS 584301 PAF3O 52 did_not_meet_standard
#> 8 Shermer High School 740592 KBBFN 0 did_not_meet_standard
#> 9 Ridgemont HS 634223 SVN3EC 77 met_standard
#> 10 Degrassi High 792675 HFN2O 50 did_not_meet_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 Shelbyville Elementary School 235247 ALT ALT
#> 2 Watkins Middle School 125547 ALT ALT
#> 3 Shelbyville Elementary School 484956 I I
#> 4 Degrassi Community School 482432 I I
#> 5 Shelbyville Elementary School 331564 R fail
#> 6 Degrassi Community School 148463 R fail
#> 7 Springfield Elementary School 188906 A+ pass
#> 8 Southpark Elementary School 347330 C pass
#> 9 Watkins Middle School 396929 NA NA
#> 10 Shelbyville Elementary School 117376 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