Introduction
Analysts typically work with raw or unitary data as many have access
to either student information systems or data warehouses that store
information at the student level. Most functions in the
DisImpact
package are designed with such data structures in
mind. However, when analysts collaborate with other data providers or
have limited access to data, the data provided are typically summarized
or aggregated to protect student privacy. For example, the California
Community Colleges Chancellor’s Office (CCCCO) Student
Success Metrics (SSM) dashboard allows users to download the data
that underlies the visualizations.
This data set is summarized by cohort, outcome, time window, and
value, meaning each row corresponds to a data point in a visualization
within the dashboard. The DisImpact
package allows one to
calculate disproportionate impact (DI) for such a data structure using
the di_iterate_on_long
function, which is very similar to
the di_iterate
function illustrated in the Scaling DI Calculations
vignette.
Load DisImpact
and toy data set
First, load the necessary packages.
library(DisImpact)
library(dplyr) # Ease in manipulations with data frames
Second, load a toy data set.
data(ssm_cohort) # provided from DisImpact
dim(ssm_cohort)
## [1] 5760 20
# head(ssm_cohort)
cohort | localeName | academicYear | metricID | title | categoryID | disagg1 | subgroup1 | disagg2 | subgroup2 | value | denom | perc | dataType | missingFlag | ferpaFlag | X20 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
After 3 Years | Community College A | 2015 | SM 504C3 | Completed Transfer-Level Math and English | 501 | Age | 19 or Less | Gender | All Other Values | NA | NA | NA | Percent | 1 | 1 | NA |
After 3 Years | Community College A | 2015 | SM 504C3 | Completed Transfer-Level Math and English | 501 | Age | 19 or Less | Gender | Female | 169 | 957 | 0.17659 | Percent | 0 | 0 | NA |
After 3 Years | Community College A | 2015 | SM 504C3 | Completed Transfer-Level Math and English | 501 | Age | 19 or Less | Gender | Male | 182 | 1149 | 0.15840 | Percent | 0 | 0 | NA |
After 3 Years | Community College A | 2015 | SM 504C3 | Completed Transfer-Level Math and English | 501 | Age | 19 or Less | None | None | 353 | 2131 | 0.16565 | Percent | 0 | 0 | NA |
After 3 Years | Community College A | 2015 | SM 504C3 | Completed Transfer-Level Math and English | 501 | Age | 20 to 24 | Gender | All Other Values | NA | NA | NA | Percent | 1 | 1 | NA |
After 3 Years | Community College A | 2015 | SM 504C3 | Completed Transfer-Level Math and English | 501 | Age | 20 to 24 | Gender | Female | NA | NA | NA | Percent | 1 | 1 | NA |
To get a description of each variable, type ?ssm_cohort
in the R console.
Select relevant rows
In the following code, we select relevant rows that correspond to the
outcomes of interest (categoryLabel
), the disaggregations
of interest (disagg1
), and all non-missing and
non-FERPA-suppressed groups:
<- ssm_cohort %>%
d_relevant filter(
%in% c('Completed Both Transfer-Level Math and English Within the District in the First Year Aligned with SCFF'
categoryLabel 'Attained the Vision Goal Definition of Completion'
, 'Earned an Associate Degree'
, 'Transferred to a Four-Year Postsecondary Institution'
,
)%in% c('Ethnicity', 'Foster Youth', 'Veterans')
, disagg1 == 'None' # There's also Gender
, disagg2 == 0
, missingFlag == 0
, ferpaFlag
)%>%
d_relevant group_by(disagg1, subgroup1) %>%
tally
## # A tibble: 13 x 3
## # Groups: disagg1 [3]
## disagg1 subgroup1 n
## <chr> <chr> <int>
## 1 Ethnicity All Masked Values 14
## 2 Ethnicity Asian 14
## 3 Ethnicity Black or African American 4
## 4 Ethnicity Filipino 14
## 5 Ethnicity Hispanic 14
## 6 Ethnicity Two or More Races 14
## 7 Ethnicity White 14
## 8 Foster Youth All Masked Values 11
## 9 Foster Youth Foster Youth 3
## 10 Foster Youth Not Foster Youth 3
## 11 Veterans All Masked Values 12
## 12 Veterans Not Veteran 2
## 13 Veterans Veteran 1
In the following code, we select similar rows to the previous
selection, but also allow for each group within the first level of
disaggregation to also be disaggregated by gender
(disagg2
):
<- ssm_cohort %>%
d_relevant_gender filter(
%in% c('Completed Both Transfer-Level Math and English Within the District in the First Year Aligned with SCFF'
categoryLabel 'Attained the Vision Goal Definition of Completion'
, 'Earned an Associate Degree'
, 'Transferred to a Four-Year Postsecondary Institution'
,
)%in% c('Ethnicity', 'Foster Youth', 'Veterans')
, disagg1 # , disagg2 == 'None' # There's also Gender
== 'Gender'
, disagg2 == 0
, missingFlag == 0
, ferpaFlag
)%>%
d_relevant_gender group_by(disagg1, subgroup1, disagg2, subgroup2) %>%
tally
## # A tibble: 21 x 5
## # Groups: disagg1, subgroup1, disagg2 [12]
## disagg1 subgroup1 disagg2 subgroup2 n
## <chr> <chr> <chr> <chr> <int>
## 1 Ethnicity All Masked Values Gender All Other Values 14
## 2 Ethnicity Asian Gender Female 14
## 3 Ethnicity Asian Gender Male 14
## 4 Ethnicity Filipino Gender Female 10
## 5 Ethnicity Filipino Gender Male 7
## 6 Ethnicity Hispanic Gender Female 14
## 7 Ethnicity Hispanic Gender Male 14
## 8 Ethnicity Two or More Races Gender Female 13
## 9 Ethnicity Two or More Races Gender Male 13
## 10 Ethnicity White Gender Female 14
## # ... with 11 more rows
For an ethnicity group like Asian (or any group specified by the
disaggregation variable disagg1
), the data set
d_relevant
would have a row for the group, and the data set
d_relevant
would have multiple rows, one corresponding to
each gender class.
Execute di_iterate_on_long
on a data set
Let’s illustrate the di_iterate_on_long
function with
some key arguments:
data
: A data frame for which to iterate DI calculations for a set of variables.num_var
: A variable name (character value) fromdata
where the variable stores success counts (the numerator in success rates). Success rates are calculated by aggregatingnum_var
anddenom_var
for each unique combination of values indisagg_var_col
,group_var_col
,disagg_var_col_2
,group_var_col_2
,cohort_var_col
, andsummarize_by_vars
. If such combinations are unique (single row), then rows are not collapsed.denom_var
: A variable name (character value) fromdata
where the variable stores the group size (the denominator in success rates).disagg_var_col
: A variable name (character value) fromdata
where the variable stores the different disaggregation scenarios. The disaggregation variable could include such values as ‘Ethnicity’, ‘Age Group’, and ‘Foster Youth’, corresponding to three disaggregation scenarios.group_var_col
: A variable name (character value) fromdata
where the variable stores the group name for each group within a level of disaggregation specified indisagg_var_col
. For example, the group names could include ‘Asian’, ‘White’, ‘Black’, ‘Latinx’, ‘Native American’, and ‘Other’ for a disaggregation on ethnicity; ‘Under 18’, ‘18-21’, ‘22-25’, and ‘25+’ for an age group disaggregation; and ‘Yes’ and ‘No’ for a foster youth status disaggregation.disagg_var_col_2
: (Optional) A variable name (character value) fromdata
where the variable stores an optional second disaggregation variable, which allows for the intersectionality of variables listed indisagg_var_col
anddisagg_var_col_2
. The second disaggregation variable could describe something not indisagg_var_col_2
, such as ‘Gender’, which would require all groups described ingroup_var_col
to be broken out by gender.group_var_col_2
: (Optional) A variable name (character value) fromdata
where the variable stores the group name for each group within a second level of disaggregation specified indisagg_var_col_2
. For example, the group names could include ‘Male’, ‘Female’, ‘Non-binary’, and ‘Unknown’ if ‘Gender’ is a value in the variabledisagg_var_col_2
.cohort_var_col
: (Optional) A variable name (character value) fromdata
where the variable stores the cohort label for the data described in each row.summarize_by_vars
: (Optional) A character vector of variable names indata
for whichnum_var
anddenom_var
are used for aggregation to calculate success rates for the dispropotionate impact (DI) analysis set up bydisagg_var_col
,group_var_col
,disagg_var_col_2
, andgroup_var_col_2
. For example,summarize_by_vars=c('Outcome')
could specify a single variable/column that describes the outcome or metric innum_var
, where the outcome values might include ‘Completion of Transfer-Level Math’, ‘Completion of Transfer-Level English’,‘Transfer’, ‘Associate Degree’.
To see the details of these and other arguments, type
?di_iterate_on_long
in the R console.
# Example 1: By outcome, cohort
<- di_iterate_on_long(data=d_relevant
di_summ_1 num_var='value'
, denom_var='denom'
, disagg_var_col='disagg1'
, group_var_col='subgroup1'
, cohort_var_col='academicYear'
, summarize_by_vars=c('categoryLabel', 'cohort')
, ppg_reference_groups='all but current' # PPG-1
, di_80_index_reference_groups='all but current' # Relative rates analogous to PPG-1 for reference group
,
)nrow(di_summ_1)
## [1] 120
nrow(d_relevant)
## [1] 120
%>%
di_summ_1 %>%
head as.data.frame
## categoryLabel
## 1 Completed Both Transfer-Level Math and English Within the District in the First Year Aligned with SCFF
## 2 Completed Both Transfer-Level Math and English Within the District in the First Year Aligned with SCFF
## 3 Completed Both Transfer-Level Math and English Within the District in the First Year Aligned with SCFF
## 4 Completed Both Transfer-Level Math and English Within the District in the First Year Aligned with SCFF
## 5 Completed Both Transfer-Level Math and English Within the District in the First Year Aligned with SCFF
## 6 Completed Both Transfer-Level Math and English Within the District in the First Year Aligned with SCFF
## cohort disagg1 academicYear subgroup1 n success
## 1 After 3 Years Ethnicity 2015 All Masked Values 132 10
## 2 After 3 Years Ethnicity 2015 Asian 938 115
## 3 After 3 Years Ethnicity 2015 Filipino 97 16
## 4 After 3 Years Ethnicity 2015 Hispanic 903 69
## 5 After 3 Years Ethnicity 2015 Two or More Races 162 21
## 6 After 3 Years Ethnicity 2015 White 1178 133
## pct ppg_reference ppg_reference_group moe pct_lo
## 1 0.07575758 0.1079927 all but current 0.08529805 -0.009540476
## 2 0.12260128 0.1007282 all but current 0.03199813 0.090603145
## 3 0.16494845 0.1050407 all but current 0.09950392 0.065444529
## 4 0.07641196 0.1176705 all but current 0.03261236 0.043799602
## 5 0.12962963 0.1056034 all but current 0.07699607 0.052633558
## 6 0.11290323 0.1034946 all but current 0.03000000 0.082903226
## pct_hi di_indicator_ppg success_needed_not_di_ppg
## 1 0.1610556 0 0
## 2 0.1545994 0 0
## 3 0.2644524 0 0
## 4 0.1090243 1 8
## 5 0.2066257 0 0
## 6 0.1429032 0 0
## success_needed_full_parity_ppg di_prop_index di_indicator_prop_index
## 1 5 0.7097070 1
## 2 0 1.1485450 0
## 3 0 1.5452589 0
## 4 38 0.7158373 1
## 5 0 1.2143875 0
## 6 0 1.0576923 0
## success_needed_not_di_prop_index success_needed_full_parity_prop_index
## 1 2 5
## 2 0 0
## 3 0 0
## 4 11 38
## 5 0 0
## 6 0 0
## di_80_index_reference_group di_80_index di_indicator_80_index
## 1 all but current 0.7015066 1
## 2 all but current 1.2171501 0
## 3 all but current 1.5703282 0
## 4 all but current 0.6493721 1
## 5 all but current 1.2275132 0
## 6 all but current 1.0909091 0
## success_needed_not_di_80_index success_needed_full_parity_80_index
## 1 2 5
## 2 0 0
## 3 0 0
## 4 17 38
## 5 0 0
## 6 0 0
To calculate DI with cohort year collapsed, then one could omit the
cohort_var_col
argument for rows with common
disagg_var_col
, group_var_col
, and those in
summarize_by_vars
to be aggregated or collapsed:
# Example 2: by outcome, collapse cohort academic years
<- di_iterate_on_long(data=d_relevant
di_summ_2 num_var='value'
, denom_var='denom'
, disagg_var_col='disagg1'
, group_var_col='subgroup1'
, # , cohort_var_col='academicYear'
summarize_by_vars=c('categoryLabel', 'cohort')
, ppg_reference_groups='all but current'
, di_80_index_reference_groups='all but current'
,
)nrow(di_summ_2)
## [1] 43
nrow(d_relevant)
## [1] 120
%>%
di_summ_2 %>%
head as.data.frame
## categoryLabel
## 1 Completed Both Transfer-Level Math and English Within the District in the First Year Aligned with SCFF
## 2 Completed Both Transfer-Level Math and English Within the District in the First Year Aligned with SCFF
## 3 Completed Both Transfer-Level Math and English Within the District in the First Year Aligned with SCFF
## 4 Completed Both Transfer-Level Math and English Within the District in the First Year Aligned with SCFF
## 5 Completed Both Transfer-Level Math and English Within the District in the First Year Aligned with SCFF
## 6 Completed Both Transfer-Level Math and English Within the District in the First Year Aligned with SCFF
## cohort disagg1 subgroup1 n success pct
## 1 After 3 Years Ethnicity All Masked Values 798 117 0.1466165
## 2 After 3 Years Ethnicity Asian 6391 1316 0.2059146
## 3 After 3 Years Ethnicity Filipino 622 174 0.2797428
## 4 After 3 Years Ethnicity Hispanic 4757 647 0.1360101
## 5 After 3 Years Ethnicity Two or More Races 984 251 0.2550813
## 6 After 3 Years Ethnicity White 6797 1262 0.1856701
## ppg_reference ppg_reference_group moe pct_lo pct_hi
## 1 0.1865634 all but current 0.03469162 0.1119249 0.1813082
## 2 0.1754724 all but current 0.03000000 0.1759146 0.2359146
## 3 0.1820249 all but current 0.03929442 0.2404483 0.3190372
## 4 0.1998851 all but current 0.03000000 0.1060101 0.1660101
## 5 0.1814533 all but current 0.03124126 0.2238400 0.2863226
## 6 0.1846685 all but current 0.03000000 0.1556701 0.2156701
## di_indicator_ppg success_needed_not_di_ppg success_needed_full_parity_ppg
## 1 1 5 32
## 2 0 0 0
## 3 0 0 0
## 4 1 162 304
## 5 0 0 0
## 6 0 0 0
## di_prop_index di_indicator_prop_index success_needed_not_di_prop_index
## 1 0.7925135 1 2
## 2 1.1130399 0 0
## 3 1.5121070 0 0
## 4 0.7351819 1 71
## 5 1.3788032 0 0
## 6 1.0036118 0 0
## success_needed_full_parity_prop_index di_80_index_reference_group di_80_index
## 1 32 all but current 0.7858807
## 2 0 all but current 1.1734871
## 3 0 all but current 1.5368383
## 4 304 all but current 0.6804415
## 5 0 all but current 1.4057685
## 6 0 all but current 1.0054242
## di_indicator_80_index success_needed_not_di_80_index
## 1 1 3
## 2 0 0
## 3 0 0
## 4 1 114
## 5 0 0
## 6 0 0
## success_needed_full_parity_80_index
## 1 32
## 2 0
## 3 0
## 4 304
## 5 0
## 6 0
Second layer of disaggregation / Intersectionality
Sometimes, users may want to incorporate a second layer of
disaggregation / intersection with another a second variable (e.g.,
gender). The Intersectionality
vignette discusses this in some detail. One could do this using the
second derived data set, d_relevant_gender
, which contains
summarized data with rows split out by gender:
# Example 3: by outcome, intersecting gender
<- di_iterate_on_long(data=d_relevant_gender
di_summ_3 num_var='value'
, denom_var='denom'
, disagg_var_col='disagg1'
, group_var_col='subgroup1'
, disagg_var_col_2='disagg2'
, group_var_col_2='subgroup2'
, cohort_var_col='academicYear'
, summarize_by_vars=c('categoryLabel', 'cohort')
, ppg_reference_groups='overall'
, di_80_index_reference_groups='all but current'
,
)nrow(di_summ_3)
## [1] 201
nrow(d_relevant_gender)
## [1] 201
%>%
di_summ_3 %>%
head as.data.frame
## categoryLabel
## 1 Completed Both Transfer-Level Math and English Within the District in the First Year Aligned with SCFF
## 2 Completed Both Transfer-Level Math and English Within the District in the First Year Aligned with SCFF
## 3 Completed Both Transfer-Level Math and English Within the District in the First Year Aligned with SCFF
## 4 Completed Both Transfer-Level Math and English Within the District in the First Year Aligned with SCFF
## 5 Completed Both Transfer-Level Math and English Within the District in the First Year Aligned with SCFF
## 6 Completed Both Transfer-Level Math and English Within the District in the First Year Aligned with SCFF
## cohort disagg1 disagg2 academicYear subgroup1
## 1 After 3 Years Ethnicity Gender 2015 All Masked Values
## 2 After 3 Years Ethnicity Gender 2015 Asian
## 3 After 3 Years Ethnicity Gender 2015 Asian
## 4 After 3 Years Ethnicity Gender 2015 Hispanic
## 5 After 3 Years Ethnicity Gender 2015 Hispanic
## 6 After 3 Years Ethnicity Gender 2015 Two or More Races
## subgroup2 n success pct ppg_reference ppg_reference_group
## 1 All Other Values 444 46 0.10360360 0.1064011 overall
## 2 Female 490 54 0.11020408 0.1064011 overall
## 3 Male 427 60 0.14051522 0.1064011 overall
## 4 Female 457 34 0.07439825 0.1064011 overall
## 5 Male 438 35 0.07990868 0.1064011 overall
## 6 Male 98 13 0.13265306 0.1064011 overall
## moe pct_lo pct_hi di_indicator_ppg success_needed_not_di_ppg
## 1 0.04650874 0.05709486 0.1501123 0 0
## 2 0.04427189 0.06593219 0.1544760 0 0
## 3 0.04742552 0.09308970 0.1879407 0 0
## 4 0.04584247 0.02855578 0.1202407 0 0
## 5 0.04682621 0.03308246 0.1267349 0 0
## 6 0.09899495 0.03365811 0.2316480 0 0
## success_needed_full_parity_ppg di_prop_index di_indicator_prop_index
## 1 2 0.9737077 0
## 2 0 1.0357416 0
## 3 0 1.3206177 0
## 4 15 0.6992242 1
## 5 12 0.7510134 1
## 6 0 1.2467260 0
## success_needed_not_di_prop_index success_needed_full_parity_prop_index
## 1 0 2
## 2 0 0
## 3 0 0
## 4 6 17
## 5 3 14
## 6 0 0
## di_80_index_reference_group di_80_index di_indicator_80_index
## 1 all but current 0.9700203 0
## 2 all but current 1.0417730 0
## 3 all but current 1.3818822 0
## 4 all but current 0.6691466 1
## 5 all but current 0.7253068 1
## 6 all but current 1.2556108 0
## success_needed_not_di_80_index success_needed_full_parity_80_index
## 1 0 2
## 2 0 0
## 3 0 0
## 4 7 17
## 5 4 14
## 6 0 0
Custom Reference Groups
The function di_iterate
, the workhorse function
underlying the function di_iterate_on_long
, defaults to the
overall rate and the highest performing group rate as reference when
determining disproportionate impact using the percentage point gap
method and the 80% index method, respectively (function arguments
default: ppg_reference_groups="overall"
,
di_80_index_reference_groups="hpg"
).
When using the di_iterate_on_long
function, the user
could specify 'overall'
, 'hpg'
, or
'all but current'
to override the default for the
ppg_reference_groups
and the
di_80_index_reference_groups
arguments. To speficy custom
reference groups for comparison, the user could use the argument
custom_reference_group_flag_var
to specify a variable in
the data set specified by data
that indicates the
rows/groups to be used as reference. The same groups will be used as
reference for both the percentage point gap method and the 80% index
method. The following is an illustration:
# Example 4: By outcome, cohort; custom reference groups
<- di_iterate_on_long(data=d_relevant %>%
di_summ_4 filter(subgroup1 != 'All Masked Values') %>% # some foster youth and vetans disaggregation have just a single All Masked Values row; removing these scenarios for purpose of illustration
mutate(custom_reference=ifelse(subgroup1 %in% c('White','Not Foster Youth', 'Not Veteran'), 1, 0)) # create a variable that flags the reference groups
num_var='value'
, denom_var='denom'
, disagg_var_col='disagg1'
, group_var_col='subgroup1'
, cohort_var_col='academicYear'
, summarize_by_vars=c('categoryLabel', 'cohort')
, custom_reference_group_flag_var='custom_reference' # Specify variable/flag for custom reference groups
,
)nrow(di_summ_4)
## [1] 83
%>%
di_summ_4 %>%
head as.data.frame
## categoryLabel
## 1 Completed Both Transfer-Level Math and English Within the District in the First Year Aligned with SCFF
## 2 Completed Both Transfer-Level Math and English Within the District in the First Year Aligned with SCFF
## 3 Completed Both Transfer-Level Math and English Within the District in the First Year Aligned with SCFF
## 4 Completed Both Transfer-Level Math and English Within the District in the First Year Aligned with SCFF
## 5 Completed Both Transfer-Level Math and English Within the District in the First Year Aligned with SCFF
## 6 Completed Both Transfer-Level Math and English Within the District in the First Year Aligned with SCFF
## cohort disagg1 academicYear subgroup1 custom_reference n
## 1 After 3 Years Ethnicity 2015 Asian 0 938
## 2 After 3 Years Ethnicity 2015 Filipino 0 97
## 3 After 3 Years Ethnicity 2015 Hispanic 0 903
## 4 After 3 Years Ethnicity 2015 Two or More Races 0 162
## 5 After 3 Years Ethnicity 2015 White 1 1178
## 6 After 3 Years Veterans 2015 Not Veteran 1 3385
## success pct ppg_reference ppg_reference_group moe pct_lo
## 1 115 0.12260128 0.1129032 Custom 0.03199813 0.09060315
## 2 16 0.16494845 0.1129032 Custom 0.09950392 0.06544453
## 3 69 0.07641196 0.1129032 Custom 0.03261236 0.04379960
## 4 21 0.12962963 0.1129032 Custom 0.07699607 0.05263356
## 5 133 0.11290323 0.1129032 Custom 0.03000000 0.08290323
## 6 364 0.10753323 0.1075332 Custom 0.03000000 0.07753323
## pct_hi di_indicator_ppg success_needed_not_di_ppg
## 1 0.1545994 0 0
## 2 0.2644524 0 0
## 3 0.1090243 1 4
## 4 0.2066257 0 0
## 5 0.1429032 0 0
## 6 0.1375332 0 0
## success_needed_full_parity_ppg di_prop_index di_indicator_prop_index
## 1 0 1.1352740 0
## 2 0 1.5274040 0
## 3 33 0.7075661 1
## 4 0 1.2003557 0
## 5 0 1.0454711 0
## 6 0 1.0000000 0
## success_needed_not_di_prop_index success_needed_full_parity_prop_index
## 1 0 0
## 2 0 0
## 3 12 40
## 4 0 0
## 5 0 0
## 6 0 0
## di_80_index_reference_group di_80_index di_indicator_80_index
## 1 Custom 1.0858970 0
## 2 Custom 1.4609720 0
## 3 Custom 0.6767916 1
## 4 Custom 1.1481481 0
## 5 Custom 1.0000000 0
## 6 Custom 1.0000000 0
## success_needed_not_di_80_index success_needed_full_parity_80_index
## 1 0 0
## 2 0 0
## 3 13 33
## 4 0 0
## 5 0 0
## 6 0 0
Additional Information
For additional illustrations of various parameter changes in
di_iterate_on_long
, please see the Scaling DI Calculations
vignette as the di_iterate_on_long
function is very similar
to di_iterate
that’s applied to a unitary data set.
Appendix: R and R Package Versions
This vignette was generated using an R session with the following packages. There may be some discrepancies when the reader replicates the code caused by version mismatch.
sessionInfo()
## R version 4.0.2 (2020-06-22)
## Platform: x86_64-w64-mingw32/x64 (64-bit)
## Running under: Windows 10 x64 (build 19044)
##
## Matrix products: default
##
## locale:
## [1] LC_COLLATE=C
## [2] LC_CTYPE=English_United States.1252
## [3] LC_MONETARY=English_United States.1252
## [4] LC_NUMERIC=C
## [5] LC_TIME=English_United States.1252
##
## attached base packages:
## [1] stats graphics grDevices utils datasets methods base
##
## other attached packages:
## [1] knitr_1.39 dplyr_1.0.8 DisImpact_0.0.21
##
## loaded via a namespace (and not attached):
## [1] Rcpp_1.0.8.3 highr_0.9 pillar_1.7.0 bslib_0.3.1
## [5] compiler_4.0.2 jquerylib_0.1.4 sets_1.0-21 prettydoc_0.4.1
## [9] tools_4.0.2 digest_0.6.25 jsonlite_1.7.0 evaluate_0.15
## [13] lifecycle_1.0.1 tibble_3.1.6 fstcore_0.9.12 pkgconfig_2.0.3
## [17] rlang_1.0.1 DBI_1.1.0 cli_3.2.0 parallel_4.0.2
## [21] yaml_2.3.5 xfun_0.30 fastmap_1.1.0 duckdb_0.5.0
## [25] stringr_1.4.0 generics_0.1.2 vctrs_0.3.8 sass_0.4.1
## [29] tidyselect_1.1.2 data.table_1.14.3 glue_1.6.1 R6_2.3.0
## [33] fansi_1.0.2 rmarkdown_2.14 tidyr_1.2.0 purrr_0.3.4
## [37] blob_1.2.1 magrittr_2.0.2 htmltools_0.5.2 ellipsis_0.3.2
## [41] fst_0.9.8 assertthat_0.2.1 collapse_1.8.8 utf8_1.2.2
## [45] stringi_1.4.6 crayon_1.5.0