rm(list = ls())
options(scipen=999)
# Load required packages
if (!require(tidyverse)) {
install.packages('tidyverse')
}
if (!require(readxl)) {
install.packages('readxl')
}
if (!require(kableExtra)) {
install.packages('kableExtra')
}
The main packages we will learn are:
•tidyr for data structure manipulation (it’s like a
pivot table in Excel) •dplyr for data cleaning and munging
•kableExtra for creating pretty tables
•ggplot2 for data visualization
I went ahead and install the following packages. Now I am going to load them in from the library.
library(tidyverse)
library(readxl)
library(kableExtra)
This is an R Markdown document. Markdown is a simple formatting syntax for authoring HTML, PDF, and MS Word documents. For more details on using R Markdown see http://rmarkdown.rstudio.com.
First, we need to set library to pull data from: • Set working dictionary to chose dictionary in downloads
Mine is set to my Documents folder -> “R”
setwd("~/R")
Now that we set the library, we need to download the file from Insights and place it in the folder we set our library to. (ex: Documents->R)
Copy the file name and replace
Advanced_Shopper_Profile <-
#Place file name between () and make sure it has a ".xlse" at the end.
read_excel("Advanced_Shopper_Profile_Advanced_Shopper_Profile_2022-07-28_15-42-20.xlsx",
sheet=1,
skip = 6,
range = cell_rows(7:132),
col_types = c("text", "text","text","text", "text", "numeric"))
## Warning: Expecting numeric in F91 / R91C6: got '-'
## Warning: Expecting numeric in F123 / R123C6: got '-'
Psychographics <-
#Place file name between () and make sure it has a ".xlsx" at the end.
read_excel("Advanced_Shopper_Profile_Advanced_Shopper_Profile_2022-07-28_15-42-20.xlsx",
sheet=2,
skip = 6,
range = cell_rows(7:502),
col_types = c("text", "text","text","text", "numeric", "numeric", "numeric"))
glimpse(Advanced_Shopper_Profile)
## Rows: 125
## Columns: 6
## $ `Demographic Set` <chr> "Traditional Demographi~
## $ Demographic <chr> "Age (Brackets)", "Age ~
## $ Element <chr> "18-20", "21-24", "25-3~
## $ `% organicgirl salad greens` <chr> "2.7164685757594311E-3"~
## $ `% Salad Green shoppers among key competitors` <chr> "2.9302049142266909E-3"~
## $ Index <dbl> 92.70575, 71.61859, 87.~
head(Advanced_Shopper_Profile)
## # A tibble: 6 x 6
## `Demographic Set` Demographic Element `% organicgirl~` `% Salad Green~` Index
## <chr> <chr> <chr> <chr> <chr> <dbl>
## 1 Traditional Demog~ Age (Brack~ 18-20 2.7164685757594~ 2.9302049142266~ 92.7
## 2 Traditional Demog~ Age (Brack~ 21-24 2.1976895360300~ 3.0686019905313~ 71.6
## 3 Traditional Demog~ Age (Brack~ 25-34 0.1592210441380~ 0.1815595404673~ 87.7
## 4 Traditional Demog~ Age (Brack~ 35-44 0.2159199077659~ 0.2170024191437~ 99.5
## 5 Traditional Demog~ Age (Brack~ 45-54 0.1960589687478~ 0.1987914550224~ 98.6
## 6 Traditional Demog~ Age (Brack~ 55-64 0.2129709132567~ 0.1940839167144~ 110.
We confirmed that all the data was correctly uploaed with Rows: 125 and Columns: 6
Update the people group names to be generic in the file. This will help when running the code in bulk.
Advanced_Shopper_Profile <- Advanced_Shopper_Profile %>%
rename(focus_people_group = `% organicgirl salad greens`)%>%
rename(index_to_people_group = `% Salad Green shoppers among key competitors`)
Psychographics <- Psychographics %>%
rename(focus_people_group = `% organicgirl salad greens`)%>%
rename(index_to_people_group = `% Salad Green shoppers among key competitors`)
This code removes the na’s in the data set.
Advanced_Shopper_Profile <- Advanced_Shopper_Profile %>%
drop_na()
This will update the features so we can manipulate it later.
Advanced_Shopper_Profile <- Advanced_Shopper_Profile %>%
mutate(Element=as.factor(Element),
focus_people_group=as.numeric(focus_people_group),
index_to_people_group=as.numeric(index_to_people_group))
We need to modify the columns so it looks more like percentages.
Advanced_Shopper_Profile %>%
mutate('% Kroger Shoppers'= as.numeric(sub('%', '',index_to_people_group))*100) %>%
mutate('% LALA (Brand) Adult Drinkable Yogurt Shoppers'= as.numeric(sub('%', '',focus_people_group))*100)
## # A tibble: 123 x 8
## `Demographic Set` Demographic Element focus_people_gr~ index_to_people~ Index
## <chr> <chr> <fct> <dbl> <dbl> <dbl>
## 1 Traditional Demo~ Age (Brack~ 18-20 0.00272 0.00293 92.7
## 2 Traditional Demo~ Age (Brack~ 21-24 0.0220 0.0307 71.6
## 3 Traditional Demo~ Age (Brack~ 25-34 0.159 0.182 87.7
## 4 Traditional Demo~ Age (Brack~ 35-44 0.216 0.217 99.5
## 5 Traditional Demo~ Age (Brack~ 45-54 0.196 0.199 98.6
## 6 Traditional Demo~ Age (Brack~ 55-64 0.213 0.194 110.
## 7 Traditional Demo~ Age (Brack~ 65+ 0.191 0.175 109.
## 8 Traditional Demo~ Age (Gener~ Gen Z ~ 0.0348 0.0453 76.8
## 9 Traditional Demo~ Age (Gener~ Millen~ 0.270 0.291 92.6
## 10 Traditional Demo~ Age (Gener~ Gen X ~ 0.372 0.370 100.
## # ... with 113 more rows, and 2 more variables: `% Kroger Shoppers` <dbl>,
## # `% LALA (Brand) Adult Drinkable Yogurt Shoppers` <dbl>
Filter the indexs to only show anything that over-indexes at 120. You can cahnce the 120 to 110 if needed here.
asp <- Advanced_Shopper_Profile[1:100, 1:6]
overindex_120 <- asp %>%
filter(Index>= 120)%>%
select(-index_to_people_group) %>%
arrange(desc(Index))
overindex_110 <- asp %>%
filter(Index>= 110)%>%
select(-index_to_people_group) %>%
arrange(desc(Index))
asp2 <- Advanced_Shopper_Profile[1:100, 1:6]
overindex_by_percent_120 <- asp2 %>%
filter(Index>=120)%>%
select(-index_to_people_group) %>%
arrange(desc(focus_people_group))
overindex_by_percent_120
## # A tibble: 6 x 5
## `Demographic Set` Demographic Element focus_people_gr~ Index
## <chr> <chr> <fct> <dbl> <dbl>
## 1 Traditional Demographics Census Division South ~ 0.288 167.
## 2 Traditional Demographics Education Gradua~ 0.227 121.
## 3 Traditional Demographics Purchase Power Percen~ 100th ~ 0.151 125.
## 4 Traditional Demographics Purchase Power Percen~ 90th p~ 0.146 121.
## 5 Traditional Demographics Census Division East S~ 0.0578 133.
## 6 Traditional Demographics Employment Active~ 0.00910 127.
overindex_by_percent_110 <- asp2 %>%
filter(Index>=110)%>%
select(-index_to_people_group) %>%
arrange(desc(focus_people_group))
overindex_by_percent_110
## # A tibble: 16 x 5
## `Demographic Set` Demographic Element focus_people_gr~ Index
## <chr> <chr> <fct> <dbl> <dbl>
## 1 Traditional Demographics Ethnicity White/~ 0.671 111.
## 2 Traditional Demographics Household Size 2 0.354 110.
## 3 Traditional Demographics Age (Generation) Boomer~ 0.324 110.
## 4 Traditional Demographics Census Division South ~ 0.288 167.
## 5 Traditional Demographics Education Gradua~ 0.227 121.
## 6 Traditional Demographics Employment Retired 0.174 113.
## 7 Traditional Demographics Purchase Power Perce~ 100th ~ 0.151 125.
## 8 Traditional Demographics Purchase Power Perce~ 90th p~ 0.146 121.
## 9 Traditional Demographics Ethnicity Black ~ 0.138 111.
## 10 Traditional Demographics Marital Status Divorc~ 0.118 115.
## 11 Traditional Demographics Income $ $100k-~ 0.114 112.
## 12 Traditional Demographics Marital Status Living~ 0.0780 111.
## 13 Traditional Demographics Employment Self E~ 0.0757 120.
## 14 Traditional Demographics Census Division East S~ 0.0578 133.
## 15 Traditional Demographics Education Some G~ 0.0471 112.
## 16 Traditional Demographics Employment Active~ 0.00910 127.
Psycho <- Psychographics[1:502, 1:7]
Psycho
## # A tibble: 502 x 7
## `Psychographic Set` Header `Survey Questi~` Response focus_people_gr~
## <chr> <chr> <chr> <chr> <dbl>
## 1 Advertising Exposed Touch~ How do you lear~ Televis~ 0.499
## 2 Advertising Exposed Touch~ How do you lear~ Print m~ 0.271
## 3 Advertising Exposed Touch~ How do you lear~ Online ~ 0.604
## 4 Advertising Exposed Touch~ How do you lear~ Online ~ 0.480
## 5 Advertising Exposed Touch~ How do you lear~ Radio 0.196
## 6 Advertising Exposed Touch~ How do you lear~ Outdoor~ 0.145
## 7 Advertising Exposed Touch~ How do you lear~ In-Store 0.436
## 8 Advertising Exposed Touch~ How do you lear~ Social ~ 0.363
## 9 Advertising Exposed Touch~ How do you lear~ Special~ 0.0887
## 10 Advertising Exposed Touch~ How do you lear~ Promoti~ 0.254
## # ... with 492 more rows, and 2 more variables: index_to_people_group <dbl>,
## # Index <dbl>
overindex_120 <- Psycho %>%
filter(Index>= 120)%>%
select(-index_to_people_group) %>%
arrange(desc(Index))
overindex_120
## # A tibble: 44 x 6
## `Psychographic Set` Header `Survey Questi~` Response focus_people_gr~ Index
## <chr> <chr> <chr> <chr> <dbl> <dbl>
## 1 Interests Activ~ Which of the fo~ Scuba /~ 0.0375 150.
## 2 Interests Hobbi~ What are your p~ Writing~ 0.0638 148.
## 3 Household Trans~ How do you get ~ Train /~ 0.0584 146.
## 4 Sports Fandom Sport~ Which of the fo~ MLS 0.0732 145.
## 5 Household Trans~ How do you get ~ Taxi / ~ 0.0712 144.
## 6 Interests Activ~ Which of the fo~ Rowing ~ 0.0100 140.
## 7 Health & Sustainabil~ Organ~ Which best desc~ Would p~ 0.238 140.
## 8 Sports Fandom Sport~ Which of the fo~ Golf 0.131 139.
## 9 Eating Dinin~ Which of the fo~ Wants n~ 0.144 138.
## 10 Sports Fandom Sport~ Which of the fo~ Olympic~ 0.0230 138.
## # ... with 34 more rows
overindex_110 <- Psycho %>%
filter(Index>= 110)%>%
select(-index_to_people_group) %>%
arrange(desc(Index))
overindex_110
## # A tibble: 114 x 6
## `Psychographic Set` Header `Survey Questi~` Response focus_people_gr~ Index
## <chr> <chr> <chr> <chr> <dbl> <dbl>
## 1 Interests Activ~ Which of the fo~ Scuba /~ 0.0375 150.
## 2 Interests Hobbi~ What are your p~ Writing~ 0.0638 148.
## 3 Household Trans~ How do you get ~ Train /~ 0.0584 146.
## 4 Sports Fandom Sport~ Which of the fo~ MLS 0.0732 145.
## 5 Household Trans~ How do you get ~ Taxi / ~ 0.0712 144.
## 6 Interests Activ~ Which of the fo~ Rowing ~ 0.0100 140.
## 7 Health & Sustainabil~ Organ~ Which best desc~ Would p~ 0.238 140.
## 8 Sports Fandom Sport~ Which of the fo~ Golf 0.131 139.
## 9 Eating Dinin~ Which of the fo~ Wants n~ 0.144 138.
## 10 Sports Fandom Sport~ Which of the fo~ Olympic~ 0.0230 138.
## # ... with 104 more rows
Psycho2 <- Psychographics[1:100, 1:7]
overindex_by_percent_120 <- Psycho2 %>%
filter(Index>=120)%>%
select(-index_to_people_group) %>%
arrange(desc(focus_people_group))
overindex_by_percent_120
## # A tibble: 6 x 6
## `Psychographic Set` Header `Survey Questi~` Response focus_people_gr~ Index
## <chr> <chr> <chr> <chr> <dbl> <dbl>
## 1 Eating Dining I~ Which of the fo~ Seeks n~ 0.320 127.
## 2 Eating Dining I~ Which of the fo~ Seeks l~ 0.273 124.
## 3 Eating Dining O~ Which of the fo~ Wants n~ 0.144 138.
## 4 Eating Diets in~ Do you or anyon~ Vegan 0.0599 122.
## 5 Eating Diet Pro~ What diets have~ Paleo d~ 0.0372 125.
## 6 Eating Diet Pro~ What diets have~ Raw foo~ 0.0205 125.
overindex_by_percent_110 <- Psycho2 %>%
filter(Index>=110)%>%
select(-index_to_people_group) %>%
arrange(desc(focus_people_group))
overindex_by_percent_110
## # A tibble: 16 x 6
## `Psychographic Set` Header `Survey Questi~` Response focus_people_gr~ Index
## <chr> <chr> <chr> <chr> <dbl> <dbl>
## 1 Eating Dining ~ Which of the fo~ Reviews~ 0.337 113.
## 2 Eating Dining ~ Which of the fo~ Seeks n~ 0.320 127.
## 3 Eating Dining ~ What are the mo~ Spend t~ 0.318 111.
## 4 Eating Dining ~ Which of the fo~ Seeks l~ 0.273 124.
## 5 Advertising Adverti~ Which of the fo~ Adverti~ 0.154 112.
## 6 Eating Dining ~ Which of the fo~ Wants n~ 0.144 138.
## 7 Advertising Exposed~ How do you lear~ Special~ 0.0887 111.
## 8 Advertising Most In~ Which of the fo~ Promoti~ 0.0622 117.
## 9 Eating Diets i~ Do you or anyon~ Vegan 0.0599 122.
## 10 Advertising Most In~ Which of the fo~ Catalog~ 0.0563 113.
## 11 Advertising Adverti~ Which of the fo~ Trusts ~ 0.0449 119.
## 12 Eating Diet Pr~ What diets have~ Flexita~ 0.0410 119.
## 13 Eating Diet Pr~ What diets have~ Paleo d~ 0.0372 125.
## 14 Eating Diets i~ Do you or anyon~ Vegetar~ 0.0345 114.
## 15 Eating Diet Pr~ What diets have~ Raw foo~ 0.0205 125.
## 16 Eating Diet Pr~ What diets have~ South B~ 0.0193 114.
kbl(overindex_by_percent_110)%>%
kable_paper("hover", full_width = F)
| Psychographic Set | Header | Survey Question | Response | focus_people_group | Index |
|---|---|---|---|---|---|
| Eating | Dining In, Shopping Attitudes | Which of the following describe how you shop for groceries? Select all that apply. | Reviews labels / ingredients | 0.3374992 | 112.7931 |
| Eating | Dining In, Shopping Attitudes | Which of the following describe how you shop for groceries? Select all that apply. | Seeks natural / organic foods | 0.3203339 | 127.1903 |
| Eating | Dining Out, Reasons | What are the most common considerations when deciding to eat out? | Spend time with others | 0.3175517 | 111.4991 |
| Eating | Dining In, Shopping Attitudes | Which of the following describe how you shop for groceries? Select all that apply. | Seeks local produce / products | 0.2726508 | 124.2559 |
| Advertising | Advertising Associations | Which of the following describes you? Select all that apply. | Advertising is entertaining | 0.1539315 | 112.3560 |
| Eating | Dining Out, Preferences | Which of the following best describes you? Select all that apply. | Wants natural / organic items | 0.1438886 | 138.2436 |
| Advertising | Exposed Touchpoints | How do you learn about products, services and brands that you might purchase? Select all that apply. | Special events | 0.0886916 | 110.8946 |
| Advertising | Most Influential Touchpoints | Which of the following is the most influential? | Promotional emails / texts | 0.0621648 | 116.5396 |
| Eating | Diets in the Household | Do you or anyone in the household have any special dietary requirements? | Vegan | 0.0598932 | 122.0103 |
| Advertising | Most Influential Touchpoints | Which of the following is the most influential? | Catalogs / Brochures | 0.0562716 | 112.7009 |
| Advertising | Advertising Associations | Which of the following describes you? Select all that apply. | Trusts advertised brands | 0.0449221 | 119.2941 |
| Eating | Diet Programs in the Household | What diets have you or anyone in your household tried in the past 12 months? | Flexitarian / Semi-Vegetarian | 0.0409524 | 119.2533 |
| Eating | Diet Programs in the Household | What diets have you or anyone in your household tried in the past 12 months? | Paleo diet | 0.0371529 | 125.0626 |
| Eating | Diets in the Household | Do you or anyone in the household have any special dietary requirements? | Vegetarian (w/Eggs, Dairy) | 0.0345108 | 113.7955 |
| Eating | Diet Programs in the Household | What diets have you or anyone in your household tried in the past 12 months? | Raw food diet | 0.0204944 | 124.7636 |
| Eating | Diet Programs in the Household | What diets have you or anyone in your household tried in the past 12 months? | South Beach diet | 0.0192637 | 114.3252 |
kbl(overindex_by_percent_120)%>%
kable_paper("hover", full_width = F)
| Psychographic Set | Header | Survey Question | Response | focus_people_group | Index |
|---|---|---|---|---|---|
| Eating | Dining In, Shopping Attitudes | Which of the following describe how you shop for groceries? Select all that apply. | Seeks natural / organic foods | 0.3203339 | 127.1903 |
| Eating | Dining In, Shopping Attitudes | Which of the following describe how you shop for groceries? Select all that apply. | Seeks local produce / products | 0.2726508 | 124.2559 |
| Eating | Dining Out, Preferences | Which of the following best describes you? Select all that apply. | Wants natural / organic items | 0.1438886 | 138.2436 |
| Eating | Diets in the Household | Do you or anyone in the household have any special dietary requirements? | Vegan | 0.0598932 | 122.0103 |
| Eating | Diet Programs in the Household | What diets have you or anyone in your household tried in the past 12 months? | Paleo diet | 0.0371529 | 125.0626 |
| Eating | Diet Programs in the Household | What diets have you or anyone in your household tried in the past 12 months? | Raw food diet | 0.0204944 | 124.7636 |
asp3 <- Advanced_Shopper_Profile %>%
select(-Demographic, -`Demographic Set`) %>%
mutate(Element=as.character(Element))
glimpse(asp3)
## Rows: 123
## Columns: 4
## $ Element <chr> "18-20", "21-24", "25-34", "35-44", "45-54", "55~
## $ focus_people_group <dbl> 0.002716469, 0.021976895, 0.159221044, 0.2159199~
## $ index_to_people_group <dbl> 0.002930205, 0.030686020, 0.181559540, 0.2170024~
## $ Index <dbl> 92.70575, 71.61859, 87.69632, 99.50115, 98.62545~
asp3[1:100, 1:4] %>%
kbl() %>%
kable_paper(full_width = F)%>%
column_spec(4, color = "white",
background = spec_color(Advanced_Shopper_Profile$Index[1:4], end = .7),
popover = paste("am:", Advanced_Shopper_Profile$am[1:4]))
## Warning in ensure_len_html(background, nrows, "background"): The number of
## provided values in background does not equal to the number of rows.
## Warning: Unknown or uninitialised column: `am`.
| Element | focus_people_group | index_to_people_group | Index |
|---|---|---|---|
| 18-20 | 0.0027165 | 0.0029302 | 92.70575 |
| 21-24 | 0.0219769 | 0.0306860 | 71.61859 |
| 25-34 | 0.1592210 | 0.1815595 | 87.69632 |
| 35-44 | 0.2159199 | 0.2170024 | 99.50115 |
| 45-54 | 0.1960590 | 0.1987915 | 98.62545 |
| 55-64 | 0.2129709 | 0.1940839 | 109.73136 |
| 65+ | 0.1911358 | 0.1749464 | 109.25389 |
| Gen Z [> 1996] | 0.0347936 | 0.0452905 | 76.82309 |
| Millennials [1982-1995] | 0.2697209 | 0.2911737 | 92.63231 |
| Gen X [1965-1981] | 0.3716260 | 0.3702449 | 100.37302 |
| Boomers+ [< 1965] | 0.3238595 | 0.2932909 | 110.42262 |
| East North Central | 0.1371938 | 0.1647014 | 83.29850 |
| East South Central | 0.0578314 | 0.0434292 | 133.16234 |
| Mid-Atlantic | 0.0976871 | 0.1286857 | 75.91141 |
| Mountain | 0.0725189 | 0.0766102 | 94.65957 |
| New England | 0.0163272 | 0.0367771 | 44.39502 |
| Pacific | 0.1961243 | 0.2075153 | 94.51080 |
| South Atlantic | 0.2884028 | 0.1726603 | 167.03486 |
| West North Central | 0.0579716 | 0.0555125 | 104.42987 |
| West South Central | 0.0759429 | 0.1141084 | 66.55327 |
| Less than high school | 0.0146358 | 0.0180307 | 81.17153 |
| High School/GED | 0.0940182 | 0.1169383 | 80.39981 |
| Some College or university | 0.1897574 | 0.1973754 | 96.14033 |
| 2 year College Degree | 0.0959322 | 0.1076989 | 89.07442 |
| 4 year College Degree | 0.2870145 | 0.2822150 | 101.70067 |
| Some Graduate School | 0.0471384 | 0.0420112 | 112.20435 |
| Graduate Degree | 0.2266328 | 0.1869987 | 121.19490 |
| Trade/Technical Degree | 0.0448707 | 0.0487318 | 92.07687 |
| Employed Full-Time | 0.5025194 | 0.5272162 | 95.31563 |
| Employed Part-Time | 0.0761457 | 0.0816815 | 93.22269 |
| Self Employed | 0.0757412 | 0.0633206 | 119.61529 |
| Active Military | 0.0090997 | 0.0071458 | 127.34398 |
| Retired | 0.1738602 | 0.1540970 | 112.82515 |
| Homemaker | 0.0623514 | 0.0676195 | 92.20915 |
| Student | 0.0213379 | 0.0209019 | 102.08603 |
| Disabled | 0.0423616 | 0.0404305 | 104.77637 |
| Unemployed | 0.0365829 | 0.0375869 | 97.32869 |
| White/Caucasian | 0.6707113 | 0.6053129 | 110.80407 |
| Black or African American | 0.1382289 | 0.1245583 | 110.97522 |
| Hispanic/Latino | 0.1006307 | 0.1486660 | 67.68912 |
| Asian | 0.0714163 | 0.1032714 | 69.15402 |
| Other | 0.0190128 | 0.0181914 | 104.51528 |
| Female | 0.7615412 | 0.7629020 | 99.82163 |
| Male | 0.2288340 | 0.2257525 | 101.36497 |
| Other | 0.0096249 | 0.0113455 | 84.83427 |
| 1 | 0.1791141 | 0.1659526 | 107.93088 |
| 2 | 0.3543246 | 0.3211471 | 110.33096 |
| 3 | 0.1614860 | 0.1593385 | 101.34773 |
| 4 | 0.1267941 | 0.1442637 | 87.89048 |
| 5 | 0.1013824 | 0.1254989 | 80.78348 |
| 6 | 0.0397642 | 0.0450661 | 88.23518 |
| 7+ | 0.0371347 | 0.0387331 | 95.87323 |
|
0.0772431 | 0.0800629 | 96.47795 |
| $20k-40k | 0.1070255 | 0.1081014 | 99.00470 |
| $40k-60k | 0.1227289 | 0.1324667 | 92.64886 |
| $60k-80k | 0.1127167 | 0.1328851 | 84.82271 |
| $80k-100k | 0.1188944 | 0.1272327 | 93.44642 |
| $100k-125k | 0.1144080 | 0.1023840 | 111.74411 |
| $125k + | 0.3469834 | 0.3168672 | 109.50435 |
| Low Income (Under $40k) | 0.1842686 | 0.1881643 | 97.92958 |
| Middle Income ($40k-$80k) | 0.2354456 | 0.2653518 | 88.72961 |
| High Income (Over $80k) | 0.5802858 | 0.5464839 | 106.18535 |
| Married | 0.5504708 | 0.5702172 | 96.53704 |
| Living with partner | 0.0780396 | 0.0702019 | 111.16456 |
| Separated | 0.0144635 | 0.0160163 | 90.30487 |
| Widower | 0.0349260 | 0.0358023 | 97.55236 |
| Divorced | 0.1175918 | 0.1026722 | 114.53130 |
| Never married | 0.2045082 | 0.2050900 | 99.71632 |
| 10th percentile | 0.0687963 | 0.0862368 | 79.77605 |
| 20th percentile | 0.0699282 | 0.0737782 | 94.78156 |
| 30th percentile | 0.0703974 | 0.0789846 | 89.12810 |
| 40th percentile | 0.0920355 | 0.0956013 | 96.27007 |
| 50th percentile | 0.0908088 | 0.0990000 | 91.72606 |
| 60th percentile | 0.0908814 | 0.1003695 | 90.54690 |
| 70th percentile | 0.1074151 | 0.1082970 | 99.18570 |
| 80th percentile | 0.1132722 | 0.1167437 | 97.02644 |
| 90th percentile | 0.1456481 | 0.1201457 | 121.22625 |
| 100th percentile | 0.1508169 | 0.1208433 | 124.80372 |
| Rural | 0.1914865 | 0.1963937 | 97.50134 |
| Suburban | 0.4033685 | 0.3995101 | 100.96578 |
| Urban | 0.4051450 | 0.4040962 | 100.25954 |
| Prime | 0.6624282 | 0.6309396 | 104.99075 |
| Prime Student | 0.0015430 | 0.0022243 | 69.37212 |
| Secondary | 0.0210564 | 0.0224606 | 93.74816 |
| Acculturated | 0.0773990 | 0.0894906 | 86.48839 |
| Semi-Acculturated | 0.0619347 | 0.0820468 | 75.48698 |
| Unacculturated | 0.0057552 | 0.0149560 | 38.48062 |
| American | 0.0550255 | 0.0639179 | 86.08779 |
| Both | 0.0682116 | 0.0881557 | 77.37633 |
| Hispanic / Latino | 0.0219200 | 0.0344473 | 63.63340 |
| Bilingual | 0.0243299 | 0.0361862 | 67.23546 |
| English-Preferred | 0.0980748 | 0.1100635 | 89.10745 |
| Spanish-Preferred | 0.0238926 | 0.0407075 | 58.69328 |
| Bilingual | 0.0207276 | 0.0283763 | 73.04543 |
| English-Preferred | 0.1168996 | 0.1418174 | 82.42968 |
| Spanish-Preferred | 0.0074616 | 0.0162997 | 45.77742 |
| Yes | 0.3133767 | 0.3489662 | 89.80146 |
| No | 0.6866233 | 0.6510338 | 105.46661 |
| Yes | 0.0913041 | 0.1039075 | 87.87059 |
| No | 0.8574662 | 0.8401247 | 102.06417 |