library(haven)
library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr     1.1.4     ✔ readr     2.1.5
## ✔ forcats   1.0.0     ✔ stringr   1.5.1
## ✔ ggplot2   3.4.4     ✔ tibble    3.2.1
## ✔ lubridate 1.9.3     ✔ tidyr     1.3.1
## ✔ purrr     1.0.2     
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag()    masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library(janitor)
## 
## Attaching package: 'janitor'
## 
## The following objects are masked from 'package:stats':
## 
##     chisq.test, fisher.test
library(sjPlot)
## Install package "strengejacke" from GitHub (`devtools::install_github("strengejacke/strengejacke")`) to load all sj-packages at once!
library(car)
## Loading required package: carData
## 
## Attaching package: 'car'
## 
## The following object is masked from 'package:dplyr':
## 
##     recode
## 
## The following object is masked from 'package:purrr':
## 
##     some
library(ggplot2)
library(patchwork)
library(ggpubr)
library(gtsummary)
library(haven)
library(stats)
library(survey)
## Loading required package: grid
## Loading required package: Matrix
## 
## Attaching package: 'Matrix'
## 
## The following objects are masked from 'package:tidyr':
## 
##     expand, pack, unpack
## 
## Loading required package: survival
## 
## Attaching package: 'survey'
## 
## The following object is masked from 'package:graphics':
## 
##     dotchart
library(marginaleffects)
library(readr)
library(kableExtra)
## 
## Attaching package: 'kableExtra'
## 
## The following object is masked from 'package:dplyr':
## 
##     group_rows
usa_00043 <- read_csv("usa_00043.csv")
## Rows: 16545837 Columns: 28
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## dbl (28): YEAR, MULTYEAR, SAMPLE, SERIAL, CBSERIAL, HHWT, CLUSTER, STRATA, G...
## 
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
dat1 <- usa_00043 
colnames(dat1) <- tolower(colnames(dat1))
dat1 <- na.omit(dat1)
dat1$educd <- as.numeric(dat1$educd)

dat1$degree <- Recode(
  dat1$educd,
  recodes = "000:061='No High School Degree'; 062:064='High School Diploma'; 065:100='Some College'; 100:116='BA/BS Degree'"
)

dat1$degree <- factor(
  dat1$degree,
  levels = c('No High School Degree', 'High School Diploma', 'Some College', 'BA/BS Degree')
)
degreetable <- tabyl(dat1$degree)
dat1$empstat <- as.numeric(dat1$empstat)
dat1$employmentstatus <- recode(dat1$empstat, "1='Employed'; 2='Unemployed'; 3='Not in labor force'; else=NA")
dat1$employmentstatus <- factor(dat1$employmentstatus, levels = c("Employed", "Unemployed", "Not in labor force"), exclude = NULL)
dat1$insured <- Recode(dat1$hcovany, recodes = "2=1;else=0")
tabyl(dat1$insured)
##  dat1$insured        n   percent
##             0  1953809 0.1180846
##             1 14592028 0.8819154
blkamerica <- dat1 %>%
  filter((raced == 200 | raced == 210) & (bpld == 99900 | bpld < 99900))
  blkamerica$group <- "usablack"
blkafrican <- dat1 %>%
  filter((raced == 200 | raced == 210) & bpld >= 60000 & bpld < 69999 & bpld != 99900)
blkafrican$group <- "africanblack"
blkcaribbean <- dat1 %>%
  filter((raced == 200 | raced == 210) & 
         (bpld >= 21000 & bpld < 39999 |  
          bpld >= 9000 & bpld < 10000 |   
          bpld >= 200 & bpld < 300)        
  ) 
blkcaribbean$group <- "blackcaribbean"
blkcombined <- rbind(blkamerica, blkafrican, blkcaribbean)
blkcombined$group <- relevel(factor(blkcombined$group), ref = "usablack")

tabyl(blkcombined$group)
##  blkcombined$group       n    percent
##           usablack 1656642 0.89330539
##       africanblack   83657 0.04511008
##     blackcaribbean  114209 0.06158453
ageprobs<- blkcombined %>%
    group_by(age, group) %>%
    summarize(p=mean(insured),n=n())
## `summarise()` has grouped output by 'age'. You can override using the `.groups`
## argument.
degreeprobs<- blkcombined %>%
    group_by(degree, group) %>%
    summarize(p=mean(insured),n=n())
## `summarise()` has grouped output by 'degree'. You can override using the
## `.groups` argument.
empstprobs<- blkcombined %>%
    group_by(employmentstatus, group) %>%
    summarize(p=mean(insured),n=n())
## `summarise()` has grouped output by 'employmentstatus'. You can override using
## the `.groups` argument.
summary_table <- blkcombined %>%
  select(insured, degree, employmentstatus, age, group) %>%
  tbl_summary(
    by = group,
    statistic = list(insured ~ "{p}% ({n})", 
                     degree ~ "{p}% ({n})", 
                     age ~ "{mean} ({sd})") 
  ) %>%
  modify_header(label ~ "**Variable**") %>%
  modify_spanning_header(all_stat_cols() ~ "**Group**") %>%
  modify_caption("**Statistics for Health Insured, Employment Status, Educational Attainment, and Age of Native Blacks and Foreign-born Black African, Caribbean, and Latin American Individuals**") %>%
  add_overall() 

summary_table
Statistics for Health Insured, Employment Status, Educational Attainment, and Age of Native Blacks and Foreign-born Black African, Caribbean, and Latin American Individuals
Variable Overall, N = 1,854,5081 Group
usablack, N = 1,656,6421 africanblack, N = 83,6571 blackcaribbean, N = 114,2091
insured 83% (1,545,051) 83% (1,380,076) 83% (69,506) 84% (95,469)
degree



    No High School Degree 14% (250,802) 14% (224,848) 11% (9,043) 15% (16,911)
    High School Diploma 31% (568,375) 31% (518,815) 19% (16,070) 29% (33,490)
    Some College 32% (600,996) 33% (543,575) 28% (23,282) 30% (34,139)
    BA/BS Degree 23% (434,335) 22% (369,404) 42% (35,262) 26% (29,669)
employmentstatus



    Employed 1,176,356 (63%) 1,025,561 (62%) 64,922 (78%) 85,873 (75%)
    Unemployed 106,157 (5.7%) 95,568 (5.8%) 4,345 (5.2%) 6,244 (5.5%)
    Not in labor force 571,995 (31%) 535,513 (32%) 14,390 (17%) 22,092 (19%)
age 46 (12) 46 (12) 43 (11) 47 (11)
1 % (n); n (%); Mean (SD)
model1 <- glm(insured ~ group, data = blkcombined, family = binomial)
summary(model1)
## 
## Call:
## glm(formula = insured ~ group, family = binomial, data = blkcombined)
## 
## Coefficients:
##                      Estimate Std. Error z value Pr(>|z|)    
## (Intercept)          1.607444   0.002083 771.578   <2e-16 ***
## groupafricanblack   -0.015817   0.009455  -1.673   0.0943 .  
## groupblackcaribbean  0.020697   0.008257   2.507   0.0122 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 1672337  on 1854507  degrees of freedom
## Residual deviance: 1672327  on 1854505  degrees of freedom
## AIC: 1672333
## 
## Number of Fisher Scoring iterations: 3
model2 <- glm(insured ~ group + age, data = blkcombined, family = binomial)
summary(model2)
## 
## Call:
## glm(formula = insured ~ group + age, family = binomial, data = blkcombined)
## 
## Coefficients:
##                       Estimate Std. Error z value Pr(>|z|)    
## (Intercept)          0.1708628  0.0075777  22.548  < 2e-16 ***
## groupafricanblack    0.0498502  0.0095376   5.227 1.73e-07 ***
## groupblackcaribbean -0.0354729  0.0083411  -4.253 2.11e-05 ***
## age                  0.0326331  0.0001712 190.604  < 2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 1672337  on 1854507  degrees of freedom
## Residual deviance: 1634860  on 1854504  degrees of freedom
## AIC: 1634868
## 
## Number of Fisher Scoring iterations: 4
model3 <- glm(insured ~ group * (age + employmentstatus + degree) , data = blkcombined, family = binomial)
summary(model3)
## 
## Call:
## glm(formula = insured ~ group * (age + employmentstatus + degree), 
##     family = binomial, data = blkcombined)
## 
## Coefficients:
##                                                          Estimate Std. Error
## (Intercept)                                            -0.1742039  0.0098003
## groupafricanblack                                       0.7880146  0.0480630
## groupblackcaribbean                                    -0.0256990  0.0417059
## age                                                     0.0385711  0.0001861
## employmentstatusUnemployed                             -1.1226116  0.0078445
## employmentstatusNot in labor force                     -0.8169998  0.0048685
## degreeHigh School Diploma                               0.2168545  0.0060959
## degreeSome College                                      0.6200079  0.0064959
## degreeBA/BS Degree                                      1.2683247  0.0084161
## groupafricanblack:age                                  -0.0175129  0.0009061
## groupblackcaribbean:age                                -0.0060053  0.0007661
## groupafricanblack:employmentstatusUnemployed            0.1026171  0.0358319
## groupblackcaribbean:employmentstatusUnemployed         -0.0302257  0.0304305
## groupafricanblack:employmentstatusNot in labor force    0.0623501  0.0231058
## groupblackcaribbean:employmentstatusNot in labor force  0.0617262  0.0200133
## groupafricanblack:degreeHigh School Diploma            -0.1884445  0.0326525
## groupblackcaribbean:degreeHigh School Diploma           0.1146123  0.0237861
## groupafricanblack:degreeSome College                   -0.3875054  0.0316720
## groupblackcaribbean:degreeSome College                  0.1298763  0.0252040
## groupafricanblack:degreeBA/BS Degree                   -0.6326153  0.0317656
## groupblackcaribbean:degreeBA/BS Degree                  0.0283775  0.0294973
##                                                         z value Pr(>|z|)    
## (Intercept)                                             -17.775  < 2e-16 ***
## groupafricanblack                                        16.395  < 2e-16 ***
## groupblackcaribbean                                      -0.616  0.53777    
## age                                                     207.271  < 2e-16 ***
## employmentstatusUnemployed                             -143.109  < 2e-16 ***
## employmentstatusNot in labor force                     -167.813  < 2e-16 ***
## degreeHigh School Diploma                                35.574  < 2e-16 ***
## degreeSome College                                       95.447  < 2e-16 ***
## degreeBA/BS Degree                                      150.701  < 2e-16 ***
## groupafricanblack:age                                   -19.328  < 2e-16 ***
## groupblackcaribbean:age                                  -7.839 4.55e-15 ***
## groupafricanblack:employmentstatusUnemployed              2.864  0.00419 ** 
## groupblackcaribbean:employmentstatusUnemployed           -0.993  0.32058    
## groupafricanblack:employmentstatusNot in labor force      2.698  0.00697 ** 
## groupblackcaribbean:employmentstatusNot in labor force    3.084  0.00204 ** 
## groupafricanblack:degreeHigh School Diploma              -5.771 7.87e-09 ***
## groupblackcaribbean:degreeHigh School Diploma             4.818 1.45e-06 ***
## groupafricanblack:degreeSome College                    -12.235  < 2e-16 ***
## groupblackcaribbean:degreeSome College                    5.153 2.56e-07 ***
## groupafricanblack:degreeBA/BS Degree                    -19.915  < 2e-16 ***
## groupblackcaribbean:degreeBA/BS Degree                    0.962  0.33603    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 1672337  on 1854507  degrees of freedom
## Residual deviance: 1527222  on 1854487  degrees of freedom
## AIC: 1527264
## 
## Number of Fisher Scoring iterations: 5
coefficients <- coef(model1)
mod1logodds <- exp(coefficients)
mod1logodds
##         (Intercept)   groupafricanblack groupblackcaribbean 
##           4.9900422           0.9843079           1.0209126
coefficients <- coef(model2)
mod2logodds <- exp(coefficients)
mod2logodds
##         (Intercept)   groupafricanblack groupblackcaribbean                 age 
##           1.1863280           1.0511136           0.9651489           1.0331714
coefficients <- coef(model3)
mod2logodds <- exp(coefficients)
mod2logodds
##                                            (Intercept) 
##                                              0.8401256 
##                                      groupafricanblack 
##                                              2.1990262 
##                                    groupblackcaribbean 
##                                              0.9746285 
##                                                    age 
##                                              1.0393246 
##                             employmentstatusUnemployed 
##                                              0.3254288 
##                     employmentstatusNot in labor force 
##                                              0.4417550 
##                              degreeHigh School Diploma 
##                                              1.2421633 
##                                     degreeSome College 
##                                              1.8589427 
##                                     degreeBA/BS Degree 
##                                              3.5548921 
##                                  groupafricanblack:age 
##                                              0.9826396 
##                                groupblackcaribbean:age 
##                                              0.9940127 
##           groupafricanblack:employmentstatusUnemployed 
##                                              1.1080670 
##         groupblackcaribbean:employmentstatusUnemployed 
##                                              0.9702265 
##   groupafricanblack:employmentstatusNot in labor force 
##                                              1.0643349 
## groupblackcaribbean:employmentstatusNot in labor force 
##                                              1.0636711 
##            groupafricanblack:degreeHigh School Diploma 
##                                              0.8282465 
##          groupblackcaribbean:degreeHigh School Diploma 
##                                              1.1214385 
##                   groupafricanblack:degreeSome College 
##                                              0.6787480 
##                 groupblackcaribbean:degreeSome College 
##                                              1.1386875 
##                   groupafricanblack:degreeBA/BS Degree 
##                                              0.5312008 
##                 groupblackcaribbean:degreeBA/BS Degree 
##                                              1.0287840
ageprobs$num <-ageprobs$p*(1-ageprobs$p)
ageprobs$sep <- sqrt(ageprobs$num/degreeprobs$n)
## Warning in ageprobs$num/degreeprobs$n: longer object length is not a multiple
## of shorter object length
ageprobs$me <- 2*ageprobs$sep
ggplot(data =ageprobs, aes(x = age , y = p, ymin=p-me, ymax=p+me, fill=group,color = group, group = group)) +
     geom_line() + ylim(0,1) + geom_ribbon(alpha=0.3,aes(color=NULL)) +
labs(title="Health Insured By Age", 
       subtitle="Native Black Foreign-born Black African/Carribean/Latin American Respondents", 
       caption="Source: 2017 & 2022 ACS 5-Year File") +
       xlab(label="Age") +
  ylab(label="Insured Rate") 

degreeprobs$num <- degreeprobs$p*(1-degreeprobs$p)
degreeprobs$sep <- sqrt(degreeprobs$num/degreeprobs$n)
degreeprobs$me <- 2*degreeprobs$sep
ggplot(data =degreeprobs, aes(x = degree , y = p, ymin=p-me, ymax=p+me, fill=group,color = group, group = group)) +
     geom_line() + ylim(0,1) + geom_ribbon(alpha=0.3,aes(color=NULL)) +
labs(title="Health Insured Rates By Education Level", 
       subtitle="Native Black/Foreign-born Black African/Carribean/Latin American Respondents", 
       caption="Source: 2017 & 2022 ACS 5-Year File") +
       xlab(label="Education Attainment") +
  ylab(label="Insured Rate") 

p2 <- plot_predictions(model2, condition = c("age", "group")) +  
      geom_line() + 
      ylim(0.50, 1) +  
      geom_ribbon(alpha = 0., aes(color = NULL)) +
      labs(
        title = "Health Insured Rates by Age",
        subtitle = "Native Black/Foreign-born African/Caribbean/Latin American Respondents Ages 25 to 65",
        caption = "Source: 2017 & 2022 ACS 5-Year File",
        xlab = "Age",
        ylab = "Insured Rate"
      )

p2

tidy_model <- tidy(model1)

des.table <- tidy_model %>%
  mutate(
    Odds_Ratio = exp(estimate),                           
    Odds_Ratio_CI_Lower = exp(estimate - 1.96 * std.error),  
    Odds_Ratio_CI_Upper = exp(estimate + 1.96 * std.error),  
    P_Value = p.adjust(p.value, method = "holm")        
  ) %>%
  select(
    term,
    Estimate = estimate,
    Standard_Error = std.error,
    Z_Value = statistic,
    P_Value,
    Odds_Ratio,
    Odds_Ratio_CI_Lower,
    Odds_Ratio_CI_Upper
  )


print(des.table)
## # A tibble: 3 × 8
##   term    Estimate Standard_Error Z_Value P_Value Odds_Ratio Odds_Ratio_CI_Lower
##   <chr>      <dbl>          <dbl>   <dbl>   <dbl>      <dbl>               <dbl>
## 1 (Inter…   1.61          0.00208  772.    0           4.99                4.97 
## 2 groupa…  -0.0158        0.00945   -1.67  0.0943      0.984               0.966
## 3 groupb…   0.0207        0.00826    2.51  0.0244      1.02                1.00 
## # ℹ 1 more variable: Odds_Ratio_CI_Upper <dbl>
tidy_model <- tidy(model1)


des.table <- tidy_model %>%
  mutate(
    Odds_Ratio = exp(estimate),                           
    Odds_Ratio_CI_Lower = exp(estimate - 1.96 * std.error),  
    Odds_Ratio_CI_Upper = exp(estimate + 1.96 * std.error),  
    
    P_Value = p.adjust(p.value, method = "holm")          
  ) %>%
  select(
    term,
    Estimate = estimate,
    Standard_Error = std.error,
    Z_Value = statistic,
    P_Value,
    Odds_Ratio,
    Odds_Ratio_CI_Lower,
    Odds_Ratio_CI_Upper
  )
des.table %>%
  kable("html", align = c("l", "c", "c", "c", "c", "c", "c", "c")) %>%
  add_header_above(c("**Logistic Regression Results for Health Insurance Status**" = 8), align = "center") %>%
  kable_styling(full_width = FALSE, position = "center")
Logistic Regression Results for Health Insurance Status
term Estimate Standard_Error Z_Value P_Value Odds_Ratio Odds_Ratio_CI_Lower Odds_Ratio_CI_Upper
(Intercept) 1.6074444 0.0020833 771.57845 0.0000000 4.9900422 4.9697078 5.010460
groupafricanblack -0.0158166 0.0094545 -1.67291 0.0943449 0.9843079 0.9662357 1.002718
groupblackcaribbean 0.0206970 0.0082569 2.50663 0.0243777 1.0209126 1.0045237 1.037569
tidy_model <- tidy(model2)

des.table2 <- tidy_model %>%
  mutate(
    Odds_Ratio = exp(estimate),                           
    Odds_Ratio_CI_Lower = exp(estimate - 1.96 * std.error),  
    Odds_Ratio_CI_Upper = exp(estimate + 1.96 * std.error),  
    
    P_Value = p.adjust(p.value, method = "holm")          
  ) %>%
  select(
    term,
    Estimate = estimate,
    Standard_Error = std.error,
    Z_Value = statistic,
    P_Value,
    Odds_Ratio,
    Odds_Ratio_CI_Lower,
    Odds_Ratio_CI_Upper
  )
des.table2 %>%
  kable("html", align = c("l", "c", "c", "c", "c", "c", "c", "c")) %>%
  add_header_above(c("**Logistic Regression Results for Health Insurance Status and Age of Native Blacks and Foreign-born Black African, Caribbean, and Latin American **" = 8), align = "center") %>%
  kable_styling(full_width = FALSE, position = "center")
Logistic Regression Results for Health Insurance Status and Age of Native Blacks and Foreign-born Black African, Caribbean, and Latin American
term Estimate Standard_Error Z_Value P_Value Odds_Ratio Odds_Ratio_CI_Lower Odds_Ratio_CI_Upper
(Intercept) 0.1708628 0.0075777 22.547999 0.00e+00 1.1863280 1.1688384 1.2040793
groupafricanblack 0.0498502 0.0095376 5.226691 3.00e-07 1.0511136 1.0316469 1.0709477
groupblackcaribbean -0.0354729 0.0083411 -4.252800 2.11e-05 0.9651489 0.9494985 0.9810573
age 0.0326331 0.0001712 190.603710 0.00e+00 1.0331714 1.0328248 1.0335182
tidy_model <- tidy(model3)

des.table3 <- tidy_model %>%
  mutate(
    Odds_Ratio = exp(estimate),                           
    Odds_Ratio_CI_Lower = exp(estimate - 1.96 * std.error),  
    Odds_Ratio_CI_Upper = exp(estimate + 1.96 * std.error),  
    
    P_Value = p.adjust(p.value, method = "holm")          
  ) %>%
  select(
    term,
    Estimate = estimate,
    Standard_Error = std.error,
    Z_Value = statistic,
    P_Value,
    Odds_Ratio,
    Odds_Ratio_CI_Lower,
    Odds_Ratio_CI_Upper
  )
des.table3 %>%
  kable("html", align = c("l", "c", "c", "c", "c", "c", "c", "c")) %>%
  add_header_above(c("**Logistic Regression Results for Health Insurance Status, Employment Status, Educational Attainment, and Age of Native Blacks and Foreign-born Black African, Caribbean, and Latin American**" = 8), align = "center") %>%
  kable_styling(full_width = FALSE, position = "center")
Logistic Regression Results for Health Insurance Status, Employment Status, Educational Attainment, and Age of Native Blacks and Foreign-born Black African, Caribbean, and Latin American
term Estimate Standard_Error Z_Value P_Value Odds_Ratio Odds_Ratio_CI_Lower Odds_Ratio_CI_Upper
(Intercept) -0.1742039 0.0098003 -17.7753655 0.0000000 0.8401256 0.8241420 0.8564192
groupafricanblack 0.7880146 0.0480630 16.3954690 0.0000000 2.1990262 2.0013286 2.4162531
groupblackcaribbean -0.0256990 0.0417059 -0.6161943 0.9617348 0.9746285 0.8981281 1.0576449
age 0.0385711 0.0001861 207.2713812 0.0000000 1.0393246 1.0389456 1.0397038
employmentstatusUnemployed -1.1226116 0.0078445 -143.1086513 0.0000000 0.3254288 0.3204635 0.3304710
employmentstatusNot in labor force -0.8169998 0.0048685 -167.8127176 0.0000000 0.4417550 0.4375597 0.4459905
degreeHigh School Diploma 0.2168545 0.0060959 35.5738773 0.0000000 1.2421633 1.2274103 1.2570936
degreeSome College 0.6200079 0.0064959 95.4466206 0.0000000 1.8589427 1.8354249 1.8827619
degreeBA/BS Degree 1.2683247 0.0084161 150.7013149 0.0000000 3.5548921 3.4967328 3.6140187
groupafricanblack:age -0.0175129 0.0009061 -19.3282563 0.0000000 0.9826396 0.9808961 0.9843862
groupblackcaribbean:age -0.0060053 0.0007661 -7.8386365 0.0000000 0.9940127 0.9925213 0.9955064
groupafricanblack:employmentstatusUnemployed 0.1026171 0.0358319 2.8638431 0.0209268 1.1080670 1.0329166 1.1886850
groupblackcaribbean:employmentstatusUnemployed -0.0302257 0.0304305 -0.9932703 0.9617348 0.9702265 0.9140504 1.0298551
groupafricanblack:employmentstatusNot in labor force 0.0623501 0.0231058 2.6984588 0.0278645 1.0643349 1.0172091 1.1136441
groupblackcaribbean:employmentstatusNot in labor force 0.0617262 0.0200133 3.0842647 0.0122434 1.0636711 1.0227553 1.1062238
groupafricanblack:degreeHigh School Diploma -0.1884445 0.0326525 -5.7712108 0.0000001 0.8282465 0.7769002 0.8829863
groupblackcaribbean:degreeHigh School Diploma 0.1146123 0.0237861 4.8184656 0.0000101 1.1214385 1.0703563 1.1749586
groupafricanblack:degreeSome College -0.3875054 0.0316720 -12.2349573 0.0000000 0.6787480 0.6378944 0.7222180
groupblackcaribbean:degreeSome College 0.1298763 0.0252040 5.1529992 0.0000021 1.1386875 1.0838033 1.1963511
groupafricanblack:degreeBA/BS Degree -0.6326153 0.0317656 -19.9151296 0.0000000 0.5312008 0.4991365 0.5653248
groupblackcaribbean:degreeBA/BS Degree 0.0283775 0.0294973 0.9620353 0.9617348 1.0287840 0.9709917 1.0900159