The purpose of this document is to describe a series of possible personas for use on the Care Board along with the methodology for generating these personas. This document will use a data-driven approach to constructing these personas. However, it is important to remember that in forming these fictatious personas, a certan level of creativity does need to be applied. Therefore this docuemtation provides a methodology for taking the data as far as possible to create teh personas, afterwhich it is up to us to make the final simplified personas. These personas are not necessarily the final personals that must be utilized for the creation of the care board, but instead provide a series of possibilities and options that we can use. This code is created in a way so that it is simple to generate any new personas as desired and get the data for these new personas. This document will also act as replication files for the construction of these personas.

Personas

The goal of these personas is to develop the stories that we want to tell through the lens of the care economy. While there are essentially infinite personas that we might be interested in, we pull out a few important personas below to provide some of the key stories that we are interested in when developing the care economy. For each persona analyzed, we want to identify the key person who acts as the focal point of the story and any relavent dependents/individuals who are associated with that individual.

Persona 1

  • Single Mother working a full time job in the care economy.

Persona 2

  • Married mother 2 who is not working and staying at home providing care.

Persona 3

  • Sandwich generation living with a child and providing elder care.

Persona 4

  • Young adult unmarried living with parents

  • Married person living with a disabled partner and a child.

Persona 5

  • Married person living with a disabled partner and a child.

When we look at these personas we want to analyze how they spend their days and how their dependents and supporters rely on them to accomplish their tasks. When we analyze this we will focus on utilizing the American Time Use Survey to understand these phenomena. The first thing we need to do is to load in the ATUS survey data.

if (!requireNamespace("pacman", quietly = TRUE)) install.packages("pacman")
pacman::p_load(
  ipumsr,
  grid,
  tidyverse,
  data.table,
  caret,
  randomForest,
  doParallel,
  sf,
  tmap,
  viridis,
  plotly,
  networkD3,
  grid,
  gt)

options(scipen = 999)

setwd("C:/Users/sc363/OneDrive/Work Items/Workspace/CareBoard/")

atus <- fread("./03_atusdata.csv")  %>%
  select(YEAR,WT06,FOCUS,care_status,race_ethnicity,age_category,marst,empstat,child_age,AGE,DURATION,nchild,
         SCC_ALL_LN,SEC_ALL_LN,CHILDCARE,CASEID,LEISURE,
         SELFCARE,FOCUS, START, STOP, ACTIVITY,KIDWAKETIME,KIDBEDTIME,ECPRIOR,SPEMPSTAT,HH_SIZE)
act_crossover <- fread("./01_ATUSActivityCrossover.csv")

atus <- atus %>%
  left_join(select(act_crossover, Code, Activity), by = c("ACTIVITY" = "Code")) %>%
  mutate(ACTIVITY = Activity) %>%
  select(-Activity)

rm(act_crossover)

Persona 1

The first persona represents someone who is often a focus for policymakers looking at the care economy, single mothers working a full time job. As family dynamics change, many individuals are increasingly raising children by themselves while also needing to take part in the formal economy. Thus, this persona is an increasingly common, and also an persona often overworked with all the demands. The first thing that we need to do is identify all the incidents in our ATUS data that match this persona.

persona <- atus %>% filter(care_status == "Mothers" & child_age == "Five_Eleven" & empstat == "Employed" & nchild > 0 & marst != "Married")

persona <- persona %>%
  mutate(
    FOCUS = ifelse(SCC_ALL_LN > 0, "Develop", FOCUS),
    DURATION = ifelse(SCC_ALL_LN > 0, SCC_ALL_LN, DURATION)
  )

persona <- persona %>%
  mutate(
    FOCUS = ifelse(SEC_ALL_LN > 0, "Sustain", FOCUS),
    DURATION = ifelse(SEC_ALL_LN > 0, SEC_ALL_LN, DURATION)
  )

Let’s start by looking at some statistics about this persona that we might be interested in. For instance, the most important statistic we might want to consider is how much time this individual spends on different care focuses. The table below shows the average amount of time this persona spends on the various care focuses. One thing to note is that is they are spending time on secondary chilid care, we consider that to be development care, and if they are spending time on secondary adult care, we consider that to be part of sustain care.

temp <- persona %>%
  group_by(CASEID,FOCUS) %>%
  summarise(time = sum(DURATION))
## `summarise()` has grouped output by 'CASEID'. You can override using the
## `.groups` argument.
mean_hours <- temp %>%
  group_by(FOCUS) %>%
  summarise(hours = median(time/60))

mean_hours <- mean_hours %>%
  gt() %>%
  tab_header(
    title = "Mean Hours by Focus"
  ) %>%
  fmt_number(
    columns = vars(hours),
    decimals = 2
  ) %>%
  cols_label(
    FOCUS = "Focus",
    hours = "Mean Hours"
  ) %>%
  tab_options(
    table.font.size = "small",
    heading.align = "center"
  )
## Warning: Since gt v0.3.0, `columns = vars(...)` has been deprecated.
## • Please use `columns = c(...)` instead.
## Since gt v0.3.0, `columns = vars(...)` has been deprecated.
## • Please use `columns = c(...)` instead.
mean_hours
Mean Hours by Focus
Focus Mean Hours
Develop 6.83
Enable 0.92
None 16.29
Sustain 1.00
NA NA

This simple distribution of time acitivites is useful for us to construct a very general idea of what a person’s day looks like.

Using this we now want to build out what the average Day looks like for a person in this category. To do this we’re going to look at for each 1 hour period what the most common activity taking place is and if any secondary activity is happening. We’re then going to simplify these activities into general categories.

# Function to get the most common activity for a given time range
get_most_common_activity <- function(start_time, end_time, data) {
  data %>%
    filter(START < sprintf("%02d:%02d:00", end_time %/% 1, (end_time %% 1) * 60) & 
             STOP >= sprintf("%02d:%02d:00", start_time %/% 1, (start_time %% 1) * 60)) %>%
    count(ACTIVITY) %>%
    arrange(desc(n)) %>%
    slice(1) %>%
    pull(ACTIVITY)
}

# Create a sequence of quarter-hour intervals
quarter_hours <- seq(0, 24, by = 0.25) # 0.25 represents 15 minutes (1/4 hour)

# Calculate the most common activity for each quarter-hour
results <- tibble(
  QuarterHour = paste0(sprintf("%02d:%02d", quarter_hours[-length(quarter_hours)] %/% 1, 
                               (quarter_hours[-length(quarter_hours)] %% 1) * 60), 
                       "-", 
                       sprintf("%02d:%02d", quarter_hours[-1] %/% 1, 
                               (quarter_hours[-1] %% 1) * 60)),
  Activity = sapply(1:(length(quarter_hours) - 1), function(i) {
    get_most_common_activity(quarter_hours[i], quarter_hours[i + 1], persona)
  })
)


results <- results %>%
  gt() %>%
  tab_header(
    title = "Activity by Quarter Hour"
  ) %>%
  cols_label(
    QuarterHour = "Quarter Hour",
    Activity = "Activity"
  ) %>%
  tab_options(
    table.font.size = "small",
    heading.align = "center"
  )

# Display the results
results
Activity by Quarter Hour
Quarter Hour Activity
00:00-00:15 Sleeping
00:15-00:30 Sleeping
00:30-00:45 Sleeping
00:45-01:00 Sleeping
01:00-01:15 Sleeping
01:15-01:30 Sleeping
01:30-01:45 Sleeping
01:45-02:00 Sleeping
02:00-02:15 Sleeping
02:15-02:30 Sleeping
02:30-02:45 Sleeping
02:45-03:00 Sleeping
03:00-03:15 Sleeping
03:15-03:30 Sleeping
03:30-03:45 Sleeping
03:45-04:00 Sleeping
04:00-04:15 Sleeping
04:15-04:30 Sleeping
04:30-04:45 Sleeping
04:45-05:00 Sleeping
05:00-05:15 Sleeping
05:15-05:30 Sleeping
05:30-05:45 Sleeping
05:45-06:00 Sleeping
06:00-06:15 Sleeping
06:15-06:30 Sleeping
06:30-06:45 Sleeping
06:45-07:00 Sleeping
07:00-07:15 Sleeping
07:15-07:30 Sleeping
07:30-07:45 Sleeping
07:45-08:00 Sleeping
08:00-08:15 Sleeping
08:15-08:30 Sleeping
08:30-08:45 Work, main job
08:45-09:00 Work, main job
09:00-09:15 Work, main job
09:15-09:30 Work, main job
09:30-09:45 Work, main job
09:45-10:00 Work, main job
10:00-10:15 Work, main job
10:15-10:30 Work, main job
10:30-10:45 Work, main job
10:45-11:00 Work, main job
11:00-11:15 Work, main job
11:15-11:30 Work, main job
11:30-11:45 Work, main job
11:45-12:00 Work, main job
12:00-12:15 Work, main job
12:15-12:30 Work, main job
12:30-12:45 Work, main job
12:45-13:00 Work, main job
13:00-13:15 Work, main job
13:15-13:30 Work, main job
13:30-13:45 Work, main job
13:45-14:00 Work, main job
14:00-14:15 Work, main job
14:15-14:30 Work, main job
14:30-14:45 Work, main job
14:45-15:00 Work, main job
15:00-15:15 Work, main job
15:15-15:30 Work, main job
15:30-15:45 Work, main job
15:45-16:00 Work, main job
16:00-16:15 Work, main job
16:15-16:30 Work, main job
16:30-16:45 Work, main job
16:45-17:00 Work, main job
17:00-17:15 Work, main job
17:15-17:30 Work, main job
17:30-17:45 Work, main job
17:45-18:00 Television and movies (not religious)
18:00-18:15 Eating and drinking
18:15-18:30 Eating and drinking
18:30-18:45 Eating and drinking
18:45-19:00 Television and movies (not religious)
19:00-19:15 Television and movies (not religious)
19:15-19:30 Television and movies (not religious)
19:30-19:45 Television and movies (not religious)
19:45-20:00 Television and movies (not religious)
20:00-20:15 Television and movies (not religious)
20:15-20:30 Television and movies (not religious)
20:30-20:45 Television and movies (not religious)
20:45-21:00 Television and movies (not religious)
21:00-21:15 Television and movies (not religious)
21:15-21:30 Television and movies (not religious)
21:30-21:45 Television and movies (not religious)
21:45-22:00 Television and movies (not religious)
22:00-22:15 Television and movies (not religious)
22:15-22:30 Television and movies (not religious)
22:30-22:45 Television and movies (not religious)
22:45-23:00 Television and movies (not religious)
23:00-23:15 Television and movies (not religious)
23:15-23:30 Television and movies (not religious)
23:30-23:45 Television and movies (not religious)
23:45-24:00 Television and movies (not religious)

One of the issues with this is that it does not account for the true variability in activities that are occuring within a day. As such, we might want to generate a list of all the activities that this persona is likely to do in the day. To do this we can create a list of all these activities and generate data on the median start and stop time for these activities. Additionally, let’s restrict this to only the activities that at least 20 percent of the individuals took part in during their day.

# Function to convert "HH:MM:SS" to total seconds
time_to_seconds <- function(time_str) {
  sapply(strsplit(time_str, ":"), function(x) {
    sum(as.numeric(x) * c(3600, 60, 1))
  })
}

# Function to convert total seconds back to "HH:MM:SS" format
seconds_to_time <- function(seconds) {
  sprintf("%02d:%02d:%02d", 
          seconds %/% 3600, 
          (seconds %% 3600) %/% 60, 
          seconds %% 60)
}

common_activities <- persona %>%
  filter(START != "04:00:00") %>%
  group_by(ACTIVITY) %>%
  summarise(
    count = n(),
    MEDIAN_START = median(time_to_seconds(START)),
    MEDIAN_STOP = median(time_to_seconds(STOP)),
    FOCUS = list(unique(FOCUS))
  ) %>%
  ungroup() %>%
  mutate(
    MEDIAN_START = seconds_to_time(MEDIAN_START),
    MEDIAN_STOP = seconds_to_time(MEDIAN_STOP)
  ) %>%
  filter(count > length(unique(persona$CASEID))*0.2)

common_activities <- common_activities %>%
  gt() %>%
  tab_header(
    title = "Common Activities Overview"
  ) %>%
  cols_label(
    ACTIVITY = "Activity",
    count = "Count",
    MEDIAN_START = "Median Start Time",
    MEDIAN_STOP = "Median Stop Time",
    FOCUS = "Focus"
  ) %>%
  fmt_number(
    columns = vars(count),
    decimals = 0
  ) %>%
  tab_options(
    table.font.size = "small",
    heading.align = "center"
  ) %>%
  cols_width(
    ACTIVITY ~ px(250), # Adjust the column width for clarity
    MEDIAN_START ~ px(150),
    MEDIAN_STOP ~ px(150),
    count ~ px(100),
    FOCUS ~ px(200)
  )
## Warning: Since gt v0.3.0, `columns = vars(...)` has been deprecated.
## • Please use `columns = c(...)` instead.
## Since gt v0.3.0, `columns = vars(...)` has been deprecated.
## • Please use `columns = c(...)` instead.
# Render the table in R Markdown (HTML format)
common_activities
Common Activities Overview
Activity Count Median Start Time Median Stop Time Focus
Eating and drinking 8,488 14:00:00 14:30:00 Develop, NA, None, Sustain
Food and drink preparation 5,310 14:15:00 15:00:00 NA, Develop, Enable, Sustain
Household & personal organization and planning 1,140 14:45:00 15:05:00 NA, Develop, Enable
Interior cleaning 2,047 12:15:00 14:00:00 NA, Develop, Enable, Sustain
Kitchen and food clean-up 1,754 17:45:00 18:10:00 Develop, Enable, NA, Sustain
Laundry 2,121 14:41:00 15:30:00 NA, Enable, Develop, Sustain
Physical care for hh children 4,349 17:40:00 18:00:00 Develop, NA
Picking up/dropping off hh children 2,962 14:00:00 14:05:00 Develop, NA, Sustain
Purchasing food (not groceries) 1,098 15:45:00 15:55:00 Enable, Develop, NA, Sustain
Relaxing, thinking 1,210 14:30:00 15:15:00 NA, Develop, None
Shopping, except groceries, food and gas 1,830 14:32:30 15:30:00 Develop, NA, Enable, Sustain
Sleeping 5,836 21:30:00 06:50:00 None, NA
Socializing and communicating with others 2,356 16:25:00 17:23:00 NA, None, Develop, Sustain
Television and movies (not religious) 6,024 18:50:00 20:00:00 NA, Develop, None, Sustain
Travel related to eating and drinking 1,756 15:30:00 15:50:00 None, Develop, NA, Sustain
Travel related to grocery shopping 1,621 15:15:00 15:30:00 Develop, None, NA, Sustain
Travel related to hh children's education 4,370 14:54:30 15:03:00 NA, None, Sustain
Travel related to purchasing food (not groceries) 1,238 16:13:00 16:22:00 Develop, None, NA, Sustain
Travel related to shopping, ex groceries, food, and gas 1,980 15:00:00 15:15:30 Develop, None, NA, Sustain
Travel related to socializing and communicating 1,772 16:35:00 16:53:00 Develop, NA, None, Sustain
Travel related to working 3,836 10:08:30 10:35:00 NA, None, Develop, Sustain
Washing, dressing and grooming oneself 7,196 11:07:00 11:30:00 NA, None, Develop
Work, main job 5,903 11:24:00 14:30:00 None, NA, Develop, Sustain
NA 1,866 15:40:00 16:00:00 NA, Develop, None, Sustain

The main issue that this has is for activities that might occur sporadically throughout the day, such as eating and drinking, the median time data is not useful. For example a person might eat in the morning, around noon, and in the evening, aggregating this data by median time leads to a conclusion that eating only occurs in the early afternoon, which is not accurate. Thus lets change this and look at the common activities that are occuring within each hour.

# Create a function to identify the hour interval
get_hour_interval <- function(start, stop) {
  # Convert "HH:MM:SS" to seconds
  start_sec <- time_to_seconds(start)
  stop_sec <- time_to_seconds(stop)
  
  # Get all hours that overlap with the activity
  hours <- (start_sec %/% 3600):(stop_sec %/% 3600)
  return(paste0(sprintf("%02d:00:00", hours), "-", sprintf("%02d:59:59", hours)))
}

# Expand the data to one row per hour interval
persona_hourly <- persona %>%
  mutate(hour_intervals = purrr::map2(START, STOP, get_hour_interval)) %>%
  tidyr::unnest(hour_intervals)

# Group by hour interval and activity
common_activities_hourly <- persona_hourly %>%
  filter(START != "04:00:00") %>%
  group_by(hour_intervals, ACTIVITY) %>%
  summarise(
    count = n(),
    MEDIAN_START = median(time_to_seconds(START)),
    MEDIAN_STOP = median(time_to_seconds(STOP)),
    FOCUS = list(unique(FOCUS)),
    .groups = "drop"
  ) %>%
  ungroup() %>%
  mutate(
    MEDIAN_START = seconds_to_time(MEDIAN_START),
    MEDIAN_STOP = seconds_to_time(MEDIAN_STOP)
  ) %>%
  filter(count > length(unique(persona$CASEID)) * 0.1)

common_activities_hourly <- common_activities_hourly %>%
  gt() %>%
  tab_header(
    title = "Hourly Activity Summary"
  ) %>%
  cols_label(
    hour_intervals = "Hour Intervals",
    ACTIVITY = "Activity",
    count = "Count",
    MEDIAN_START = "Median Start Time",
    MEDIAN_STOP = "Median Stop Time",
    FOCUS = "Focus"
  ) %>%
  fmt_number(
    columns = vars(count),
    decimals = 0
  ) %>%
  tab_options(
    table.font.size = "small",
    heading.align = "center"
  ) %>%
  cols_width(
    hour_intervals ~ px(150),
    ACTIVITY ~ px(250),
    count ~ px(100),
    MEDIAN_START ~ px(150),
    MEDIAN_STOP ~ px(150),
    FOCUS ~ px(200)
  )
## Warning: Since gt v0.3.0, `columns = vars(...)` has been deprecated.
## • Please use `columns = c(...)` instead.
## Since gt v0.3.0, `columns = vars(...)` has been deprecated.
## • Please use `columns = c(...)` instead.
# Render the table in R Markdown (HTML format)
common_activities_hourly
Hourly Activity Summary
Hour Intervals Activity Count Median Start Time Median Stop Time Focus
00:00:00-00:59:59 Sleeping 503 00:15:00 06:45:00 NA, None
01:00:00-01:59:59 Sleeping 804 00:35:30 06:45:00 NA, None
02:00:00-02:59:59 Sleeping 1,025 01:00:00 06:30:00 NA, None
03:00:00-03:59:59 Sleeping 1,202 01:24:30 06:30:00 NA, None
04:00:00-04:59:59 Sleeping 1,487 02:10:00 06:00:00 NA, None
05:00:00-05:59:59 Sleeping 2,166 20:30:00 05:30:00 None, NA
05:00:00-05:59:59 Washing, dressing and grooming oneself 619 05:30:00 06:00:00 NA, None, Develop
06:00:00-06:59:59 Physical care for hh children 767 06:30:00 06:45:00 Develop, NA
06:00:00-06:59:59 Sleeping 3,350 21:30:00 06:00:00 None, NA
06:00:00-06:59:59 Washing, dressing and grooming oneself 1,243 06:00:00 06:45:00 NA, None, Develop
06:00:00-06:59:59 Work, main job 643 06:30:00 09:00:00 None, NA, Develop
07:00:00-07:59:59 Eating and drinking 543 07:15:00 07:31:00 None, NA, Develop, Sustain
07:00:00-07:59:59 Food and drink preparation 618 07:05:00 07:30:00 Enable, NA, Develop, Sustain
07:00:00-07:59:59 Physical care for hh children 828 07:00:00 07:30:00 Develop, NA
07:00:00-07:59:59 Picking up/dropping off hh children 665 07:30:00 07:35:00 NA, Develop
07:00:00-07:59:59 Sleeping 3,924 21:45:00 06:20:00 None, NA
07:00:00-07:59:59 Travel related to hh children's education 826 07:30:00 07:35:00 None, NA
07:00:00-07:59:59 Travel related to working 806 07:25:00 07:45:00 NA, None, Develop, Sustain
07:00:00-07:59:59 Washing, dressing and grooming oneself 1,209 07:00:00 07:30:00 None, NA, Develop
07:00:00-07:59:59 Work, main job 1,271 07:15:00 10:30:00 NA, None, Develop, Sustain
08:00:00-08:59:59 Eating and drinking 620 08:08:30 08:30:00 NA, None, Develop, Sustain
08:00:00-08:59:59 Sleeping 4,233 22:00:00 06:30:00 None, NA
08:00:00-08:59:59 Television and movies (not religious) 548 08:51:00 08:00:00 Develop, NA, None
08:00:00-08:59:59 Travel related to working 703 08:06:00 08:30:00 NA, None, Develop
08:00:00-08:59:59 Washing, dressing and grooming oneself 934 08:00:00 08:30:00 None, NA, Develop
08:00:00-08:59:59 Work, main job 1,930 07:55:00 11:30:00 NA, None, Develop, Sustain
09:00:00-09:59:59 Eating and drinking 621 09:00:00 09:30:00 NA, Develop, None, Sustain
09:00:00-09:59:59 Sleeping 4,335 22:00:00 06:30:00 None, NA
09:00:00-09:59:59 Television and movies (not religious) 599 09:35:00 09:00:00 NA, None, Develop
09:00:00-09:59:59 Washing, dressing and grooming oneself 721 09:00:00 09:30:00 NA, Develop, None
09:00:00-09:59:59 Work, main job 2,222 08:07:30 12:00:00 None, NA, Develop, Sustain
10:00:00-10:59:59 Eating and drinking 551 10:00:00 10:30:00 None, Develop, NA, Sustain
10:00:00-10:59:59 Interior cleaning 522 09:30:00 11:30:00 NA, Enable, Develop, Sustain
10:00:00-10:59:59 Sleeping 4,257 22:00:00 06:30:00 None, NA
10:00:00-10:59:59 Television and movies (not religious) 636 10:30:30 10:00:00 NA, None, Develop
10:00:00-10:59:59 Washing, dressing and grooming oneself 549 10:00:00 10:30:00 NA, Develop, None
10:00:00-10:59:59 Work, main job 2,395 08:30:00 12:00:00 None, NA, Develop, Sustain
11:00:00-11:59:59 Eating and drinking 696 11:15:00 11:45:00 Develop, None, NA, Sustain
11:00:00-11:59:59 Interior cleaning 493 10:05:00 12:00:00 NA, Enable, Develop, Sustain
11:00:00-11:59:59 Sleeping 4,198 22:00:00 06:30:00 None, NA
11:00:00-11:59:59 Television and movies (not religious) 653 11:30:00 11:30:00 NA, Develop, None, Sustain
11:00:00-11:59:59 Work, main job 2,386 09:00:00 12:30:00 None, NA, Develop, Sustain
12:00:00-12:59:59 Eating and drinking 1,238 12:03:30 12:40:00 Develop, None, NA, Sustain
12:00:00-12:59:59 Sleeping 4,211 22:00:00 06:30:00 None, NA
12:00:00-12:59:59 Television and movies (not religious) 720 12:20:00 12:30:00 NA, Develop, None, Sustain
12:00:00-12:59:59 Work, main job 2,552 10:15:00 13:30:00 None, NA, Develop, Sustain
13:00:00-13:59:59 Eating and drinking 1,021 13:00:00 13:30:00 None, Develop, NA, Sustain
13:00:00-13:59:59 Sleeping 4,231 22:00:00 06:30:00 None, NA
13:00:00-13:59:59 Television and movies (not religious) 765 13:22:00 13:30:00 NA, Develop, None
13:00:00-13:59:59 Work, main job 2,390 12:10:00 15:00:00 NA, None, Develop, Sustain
14:00:00-14:59:59 Eating and drinking 609 14:00:00 14:30:00 Develop, NA, None, Sustain
14:00:00-14:59:59 Sleeping 4,250 22:00:00 06:30:00 None, NA
14:00:00-14:59:59 Television and movies (not religious) 827 14:15:00 14:45:00 NA, Develop, None
14:00:00-14:59:59 Work, main job 2,316 12:45:00 15:45:00 NA, None, Develop, Sustain
15:00:00-15:59:59 Sleeping 4,225 22:00:00 06:30:00 None, NA
15:00:00-15:59:59 Television and movies (not religious) 932 15:11:00 15:55:00 NA, Develop, None
15:00:00-15:59:59 Travel related to hh children's education 545 15:15:00 15:30:00 None, NA
15:00:00-15:59:59 Work, main job 2,172 13:15:00 16:30:00 NA, None, Develop, Sustain
16:00:00-16:59:59 Eating and drinking 576 16:15:00 16:49:30 NA, Develop, None
16:00:00-16:59:59 Food and drink preparation 634 16:10:00 16:55:00 NA, Develop, Enable, Sustain
16:00:00-16:59:59 Sleeping 4,202 22:00:00 06:30:00 None, NA
16:00:00-16:59:59 Television and movies (not religious) 1,011 16:02:00 17:00:00 NA, Develop, None
16:00:00-16:59:59 Travel related to hh children's education 540 16:19:00 16:31:00 NA, None
16:00:00-16:59:59 Work, main job 1,759 14:00:00 17:00:00 NA, None, Develop, Sustain
17:00:00-17:59:59 Eating and drinking 1,051 17:20:00 17:50:00 NA, Develop, None, Sustain
17:00:00-17:59:59 Food and drink preparation 974 17:07:00 17:50:00 NA, Develop, Enable, Sustain
17:00:00-17:59:59 Sleeping 4,173 22:00:00 06:30:00 None, NA
17:00:00-17:59:59 Socializing and communicating with others 524 17:00:00 18:00:00 None, NA, Develop, Sustain
17:00:00-17:59:59 Television and movies (not religious) 1,169 17:05:00 18:00:00 NA, Develop, None, Sustain
17:00:00-17:59:59 Travel related to hh children's education 666 17:15:00 17:31:30 NA, None, Sustain
17:00:00-17:59:59 Work, main job 1,287 14:55:00 17:30:00 NA, None, Develop, Sustain
18:00:00-18:59:59 Eating and drinking 1,547 18:10:00 18:45:00 NA, Develop, None, Sustain
18:00:00-18:59:59 Food and drink preparation 990 18:00:00 18:37:00 Develop, NA, Enable, Sustain
18:00:00-18:59:59 Sleeping 4,117 22:00:00 06:30:00 None, NA
18:00:00-18:59:59 Socializing and communicating with others 605 18:00:00 19:00:00 NA, Develop, None, Sustain
18:00:00-18:59:59 Television and movies (not religious) 1,436 18:08:30 19:05:00 NA, Develop, None, Sustain
18:00:00-18:59:59 Work, main job 722 16:30:00 18:40:30 None, NA, Develop, Sustain
19:00:00-19:59:59 Eating and drinking 1,305 19:00:00 19:31:00 NA, Develop, None, Sustain
19:00:00-19:59:59 Food and drink preparation 613 19:00:00 19:30:00 Develop, NA, Enable, Sustain
19:00:00-19:59:59 Physical care for hh children 641 19:25:00 19:45:00 Develop, NA
19:00:00-19:59:59 Sleeping 4,057 22:00:00 06:30:00 None, NA
19:00:00-19:59:59 Socializing and communicating with others 550 18:50:00 19:55:00 NA, Develop, None, Sustain
19:00:00-19:59:59 Television and movies (not religious) 1,909 19:01:00 20:20:00 NA, None, Develop, Sustain
19:00:00-19:59:59 Work, main job 566 18:05:00 19:42:30 None, NA, Develop, Sustain
20:00:00-20:59:59 Eating and drinking 782 20:00:00 20:30:00 NA, Develop, None, Sustain
20:00:00-20:59:59 Physical care for hh children 956 20:15:00 20:35:00 NA, Develop
20:00:00-20:59:59 Sleeping 3,954 22:00:00 06:30:00 None, NA
20:00:00-20:59:59 Television and movies (not religious) 2,394 19:55:00 21:00:00 NA, Develop, None, Sustain
20:00:00-20:59:59 Washing, dressing and grooming oneself 743 20:22:00 20:41:00 None, NA, Develop
21:00:00-21:59:59 Physical care for hh children 718 21:05:00 21:29:30 Develop, NA
21:00:00-21:59:59 Sleeping 3,579 22:10:00 06:30:00 NA, None
21:00:00-21:59:59 Television and movies (not religious) 2,347 20:30:00 21:50:00 NA, Develop, None, Sustain
21:00:00-21:59:59 Washing, dressing and grooming oneself 906 21:15:00 21:34:00 None, NA, Develop
22:00:00-22:59:59 Sleeping 2,414 22:35:00 06:30:00 NA, None
22:00:00-22:59:59 Television and movies (not religious) 1,586 21:15:00 22:30:00 NA, None, Develop, Sustain
22:00:00-22:59:59 Washing, dressing and grooming oneself 688 22:10:00 22:27:00 Develop, NA, None
23:00:00-23:59:59 Sleeping 992 23:10:00 07:00:00 NA, None
23:00:00-23:59:59 Television and movies (not religious) 639 21:51:00 23:00:00 None, NA, Develop, Sustain

This unfortunately is about as far as the data can take us. We need to use all the data above to create what we want the specific persona to be, but this will require a bit of decision making as opposed to a clear data decision.

persona_1 <- common_activities_hourly

Persona 2 Married Mother NILF

The second persona that we are likely interested in is a stay at home mother. Let’s repeat the above methods but change the persona so that we look at a married stay at home mother. Mothers who are Not in the labor force are important contributers to the economy, but their activities are often not fully evaluated. Thus, we will look at this persona directly

persona <- atus %>% filter(care_status == "Mothers" & empstat != "Employed" & nchild > 0 & marst == "Married")

persona <- persona %>%
  mutate(
    FOCUS = ifelse(SCC_ALL_LN > 0, "Develop", FOCUS),
    DURATION = ifelse(SCC_ALL_LN > 0, SCC_ALL_LN, DURATION)
  )

persona <- persona %>%
  mutate(
    FOCUS = ifelse(SEC_ALL_LN > 0, "Sustain", FOCUS),
    DURATION = ifelse(SEC_ALL_LN > 0, SEC_ALL_LN, DURATION)
  )

Let’s start by looking at some statistics about this persona that we might be interested in. For instance, the most important statistic we might want to consider is how much time this individual spends on different care focuses. The table below shows the average amount of time this persona spends on the various care focuses. One thing to note is that is they are spending time on secondary chilid care, we consider that to be development care, and if they are spending time on secondary adult care, we consider that to be part of sustain care.

temp <- persona %>%
  group_by(CASEID,FOCUS) %>%
  summarise(time = sum(DURATION))
## `summarise()` has grouped output by 'CASEID'. You can override using the
## `.groups` argument.
mean_hours <- temp %>%
  group_by(FOCUS) %>%
  summarise(hours = median(time/60))

mean_hours <- mean_hours %>%
  gt() %>%
  tab_header(
    title = "Mean Hours by Focus"
  ) %>%
  fmt_number(
    columns = vars(hours),
    decimals = 2
  ) %>%
  cols_label(
    FOCUS = "Focus",
    hours = "Mean Hours"
  ) %>%
  tab_options(
    table.font.size = "small",
    heading.align = "center"
  )
## Warning: Since gt v0.3.0, `columns = vars(...)` has been deprecated.
## • Please use `columns = c(...)` instead.
## Since gt v0.3.0, `columns = vars(...)` has been deprecated.
## • Please use `columns = c(...)` instead.
mean_hours
Mean Hours by Focus
Focus Mean Hours
Develop 12.00
Enable 2.08
None 11.97
Sustain 1.17
NA NA

This simple distribution of time acitivites is useful for us to construct a very general idea of what a person’s day looks like.

Using this we now want to build out what the average Day looks like for a person in this category. To do this we’re going to look at for each 1 hour period what the most common activity taking place is and if any secondary activity is happening. We’re then going to simplify these activities into general categories.

# Function to get the most common activity for a given time range
get_most_common_activity <- function(start_time, end_time, data) {
  data %>%
    filter(START < sprintf("%02d:%02d:00", end_time %/% 1, (end_time %% 1) * 60) & 
             STOP >= sprintf("%02d:%02d:00", start_time %/% 1, (start_time %% 1) * 60)) %>%
    count(ACTIVITY) %>%
    arrange(desc(n)) %>%
    slice(1) %>%
    pull(ACTIVITY)
}

# Create a sequence of quarter-hour intervals
quarter_hours <- seq(0, 24, by = 0.25) # 0.25 represents 15 minutes (1/4 hour)

# Calculate the most common activity for each quarter-hour
results <- tibble(
  QuarterHour = paste0(sprintf("%02d:%02d", quarter_hours[-length(quarter_hours)] %/% 1, 
                               (quarter_hours[-length(quarter_hours)] %% 1) * 60), 
                       "-", 
                       sprintf("%02d:%02d", quarter_hours[-1] %/% 1, 
                               (quarter_hours[-1] %% 1) * 60)),
  Activity = sapply(1:(length(quarter_hours) - 1), function(i) {
    get_most_common_activity(quarter_hours[i], quarter_hours[i + 1], persona)
  })
)

results <- results %>%
  gt() %>%
  tab_header(
    title = "Activity by Quarter Hour"
  ) %>%
  cols_label(
    QuarterHour = "Quarter Hour",
    Activity = "Activity"
  ) %>%
  tab_options(
    table.font.size = "small",
    heading.align = "center"
  )

# Display the results
results
Activity by Quarter Hour
Quarter Hour Activity
00:00-00:15 Sleeping
00:15-00:30 Sleeping
00:30-00:45 Sleeping
00:45-01:00 Sleeping
01:00-01:15 Sleeping
01:15-01:30 Sleeping
01:30-01:45 Sleeping
01:45-02:00 Sleeping
02:00-02:15 Sleeping
02:15-02:30 Sleeping
02:30-02:45 Sleeping
02:45-03:00 Sleeping
03:00-03:15 Sleeping
03:15-03:30 Sleeping
03:30-03:45 Sleeping
03:45-04:00 Sleeping
04:00-04:15 Sleeping
04:15-04:30 Sleeping
04:30-04:45 Sleeping
04:45-05:00 Sleeping
05:00-05:15 Sleeping
05:15-05:30 Sleeping
05:30-05:45 Sleeping
05:45-06:00 Sleeping
06:00-06:15 Sleeping
06:15-06:30 Sleeping
06:30-06:45 Sleeping
06:45-07:00 Sleeping
07:00-07:15 Sleeping
07:15-07:30 Sleeping
07:30-07:45 Sleeping
07:45-08:00 Sleeping
08:00-08:15 Sleeping
08:15-08:30 Sleeping
08:30-08:45 Sleeping
08:45-09:00 Sleeping
09:00-09:15 Sleeping
09:15-09:30 Interior cleaning
09:30-09:45 Interior cleaning
09:45-10:00 Interior cleaning
10:00-10:15 Interior cleaning
10:15-10:30 Interior cleaning
10:30-10:45 Interior cleaning
10:45-11:00 Interior cleaning
11:00-11:15 Interior cleaning
11:15-11:30 Interior cleaning
11:30-11:45 Interior cleaning
11:45-12:00 Interior cleaning
12:00-12:15 Eating and drinking
12:15-12:30 Eating and drinking
12:30-12:45 Eating and drinking
12:45-13:00 Eating and drinking
13:00-13:15 Eating and drinking
13:15-13:30 Eating and drinking
13:30-13:45 Television and movies (not religious)
13:45-14:00 Television and movies (not religious)
14:00-14:15 Television and movies (not religious)
14:15-14:30 Television and movies (not religious)
14:30-14:45 Television and movies (not religious)
14:45-15:00 Television and movies (not religious)
15:00-15:15 Television and movies (not religious)
15:15-15:30 Television and movies (not religious)
15:30-15:45 Television and movies (not religious)
15:45-16:00 Television and movies (not religious)
16:00-16:15 Television and movies (not religious)
16:15-16:30 Food and drink preparation
16:30-16:45 Food and drink preparation
16:45-17:00 Food and drink preparation
17:00-17:15 Food and drink preparation
17:15-17:30 Food and drink preparation
17:30-17:45 Eating and drinking
17:45-18:00 Eating and drinking
18:00-18:15 Eating and drinking
18:15-18:30 Eating and drinking
18:30-18:45 Eating and drinking
18:45-19:00 Television and movies (not religious)
19:00-19:15 Television and movies (not religious)
19:15-19:30 Television and movies (not religious)
19:30-19:45 Television and movies (not religious)
19:45-20:00 Television and movies (not religious)
20:00-20:15 Television and movies (not religious)
20:15-20:30 Television and movies (not religious)
20:30-20:45 Television and movies (not religious)
20:45-21:00 Television and movies (not religious)
21:00-21:15 Television and movies (not religious)
21:15-21:30 Television and movies (not religious)
21:30-21:45 Television and movies (not religious)
21:45-22:00 Television and movies (not religious)
22:00-22:15 Television and movies (not religious)
22:15-22:30 Television and movies (not religious)
22:30-22:45 Television and movies (not religious)
22:45-23:00 Television and movies (not religious)
23:00-23:15 Television and movies (not religious)
23:15-23:30 Television and movies (not religious)
23:30-23:45 Television and movies (not religious)
23:45-24:00 Washing, dressing and grooming oneself

One of the issues with this is that it does not account for the true variability in activities that are occuring within a day. As such, we might want to generate a list of all the activities that this persona is likely to do in the day. To do this we can create a list of all these activities and generate data on the median start and stop time for these activities. Additionally, let’s restrict this to only the activities that at least 20 percent of the individuals took part in during their day.

# Function to convert "HH:MM:SS" to total seconds
time_to_seconds <- function(time_str) {
  sapply(strsplit(time_str, ":"), function(x) {
    sum(as.numeric(x) * c(3600, 60, 1))
  })
}

# Function to convert total seconds back to "HH:MM:SS" format
seconds_to_time <- function(seconds) {
  sprintf("%02d:%02d:%02d", 
          seconds %/% 3600, 
          (seconds %% 3600) %/% 60, 
          seconds %% 60)
}

common_activities <- persona %>%
  filter(START != "04:00:00") %>%
  group_by(ACTIVITY) %>%
  summarise(
    count = n(),
    MEDIAN_START = median(time_to_seconds(START)),
    MEDIAN_STOP = median(time_to_seconds(STOP)),
    FOCUS = list(unique(FOCUS))
  ) %>%
  ungroup() %>%
  mutate(
    MEDIAN_START = seconds_to_time(MEDIAN_START),
    MEDIAN_STOP = seconds_to_time(MEDIAN_STOP)
  ) %>%
  filter(count > length(unique(persona$CASEID))*0.2)

common_activities <- common_activities %>%
  gt() %>%
  tab_header(
    title = "Common Activities Overview"
  ) %>%
  cols_label(
    ACTIVITY = "Activity",
    count = "Count",
    MEDIAN_START = "Median Start Time",
    MEDIAN_STOP = "Median Stop Time",
    FOCUS = "Focus"
  ) %>%
  fmt_number(
    columns = vars(count),
    decimals = 0
  ) %>%
  tab_options(
    table.font.size = "small",
    heading.align = "center"
  ) %>%
  cols_width(
    ACTIVITY ~ px(250), # Adjust the column width for clarity
    MEDIAN_START ~ px(150),
    MEDIAN_STOP ~ px(150),
    count ~ px(100),
    FOCUS ~ px(200)
  )
## Warning: Since gt v0.3.0, `columns = vars(...)` has been deprecated.
## • Please use `columns = c(...)` instead.
## Since gt v0.3.0, `columns = vars(...)` has been deprecated.
## • Please use `columns = c(...)` instead.
# Render the table in R Markdown (HTML format)
common_activities
Common Activities Overview
Activity Count Median Start Time Median Stop Time Focus
Eating and drinking 26,246 13:35:00 14:10:00 Develop, None, NA, Sustain
Food and drink preparation 23,137 12:45:00 13:25:00 NA, Develop, Enable, Sustain
Grocery shopping 3,108 13:10:00 14:00:00 NA, Develop, Enable, Sustain
Household & personal organization and planning 3,324 14:10:00 14:35:00 NA, Develop, Enable, Sustain
Interior cleaning 9,165 11:00:00 12:30:00 Develop, NA, Enable, Sustain
Kitchen and food clean-up 9,917 16:00:00 16:21:00 NA, Develop, Enable, Sustain
Laundry 7,488 12:45:00 13:32:00 Enable, Develop, NA, Sustain
Physical care for hh children 26,118 14:55:00 15:10:00 Develop, NA, Sustain
Picking up/dropping off hh children 5,289 13:10:00 13:20:00 Develop, NA, Sustain
Playing with hh children, not sports 5,273 14:15:00 15:30:00 Develop, NA, Sustain
Reading for personal interest 3,992 16:01:00 16:15:00 NA, None, Develop, Sustain
Relaxing, thinking 2,942 15:10:00 16:10:00 NA, Develop, None, Sustain
Shopping, except groceries, food and gas 5,292 13:30:00 14:29:00 Enable, NA, Develop, Sustain
Sleeping 16,409 21:30:00 07:00:00 None, NA
Socializing and communicating with others 9,403 16:30:00 17:25:00 NA, Develop, None, Sustain
Television and movies (not religious) 19,166 18:20:00 19:30:00 None, NA, Develop, Sustain
Travel related to eating and drinking 3,843 14:50:00 15:10:00 None, Develop, NA, Sustain
Travel related to grocery shopping 5,212 13:30:00 13:43:00 Develop, NA, None, Sustain
Travel related to hh children's education 9,914 13:55:00 14:06:30 None, NA, Sustain
Travel related to shopping, ex groceries, food, and gas 5,980 13:50:00 14:05:00 Develop, NA, None, Sustain
Travel related to socializing and communicating 4,071 15:40:00 15:58:00 NA, Develop, None, Sustain
Washing, dressing and grooming oneself 15,698 12:25:00 12:45:00 NA, None, Develop
NA 4,558 14:30:00 14:49:00 None, NA, Develop, Sustain

The main issue that this has is for activities that might occur sporadically throughout the day, such as eating and drinking, the median time data is not useful. For example a person might eat in the morning, around noon, and in the evening, aggregating this data by median time leads to a conclusion that eating only occurs in the early afternoon, which is not accurate. Thus lets change this and look at the common activities that are occuring within each hour.

# Create a function to identify the hour interval
get_hour_interval <- function(start, stop) {
  # Convert "HH:MM:SS" to seconds
  start_sec <- time_to_seconds(start)
  stop_sec <- time_to_seconds(stop)
  
  # Get all hours that overlap with the activity
  hours <- (start_sec %/% 3600):(stop_sec %/% 3600)
  return(paste0(sprintf("%02d:00:00", hours), "-", sprintf("%02d:59:59", hours)))
}

# Expand the data to one row per hour interval
persona_hourly <- persona %>%
  mutate(hour_intervals = purrr::map2(START, STOP, get_hour_interval)) %>%
  tidyr::unnest(hour_intervals)

# Group by hour interval and activity
common_activities_hourly <- persona_hourly %>%
  filter(START != "04:00:00") %>%
  group_by(hour_intervals, ACTIVITY) %>%
  summarise(
    count = n(),
    MEDIAN_START = median(time_to_seconds(START)),
    MEDIAN_STOP = median(time_to_seconds(STOP)),
    FOCUS = list(unique(FOCUS)),
    .groups = "drop"
  ) %>%
  ungroup() %>%
  mutate(
    MEDIAN_START = seconds_to_time(MEDIAN_START),
    MEDIAN_STOP = seconds_to_time(MEDIAN_STOP)
  ) %>%
  filter(count > length(unique(persona$CASEID)) * 0.1)

common_activities_hourly <- common_activities_hourly %>%
  gt() %>%
  tab_header(
    title = "Hourly Activity Summary"
  ) %>%
  cols_label(
    hour_intervals = "Hour Intervals",
    ACTIVITY = "Activity",
    count = "Count",
    MEDIAN_START = "Median Start Time",
    MEDIAN_STOP = "Median Stop Time",
    FOCUS = "Focus"
  ) %>%
  fmt_number(
    columns = vars(count),
    decimals = 0
  ) %>%
  tab_options(
    table.font.size = "small",
    heading.align = "center"
  ) %>%
  cols_width(
    hour_intervals ~ px(150),
    ACTIVITY ~ px(250),
    count ~ px(100),
    MEDIAN_START ~ px(150),
    MEDIAN_STOP ~ px(150),
    FOCUS ~ px(200)
  )
## Warning: Since gt v0.3.0, `columns = vars(...)` has been deprecated.
## • Please use `columns = c(...)` instead.
## Since gt v0.3.0, `columns = vars(...)` has been deprecated.
## • Please use `columns = c(...)` instead.
# Render the table in R Markdown (HTML format)
common_activities_hourly
Hourly Activity Summary
Hour Intervals Activity Count Median Start Time Median Stop Time Focus
00:00:00-00:59:59 Sleeping 1,499 00:15:00 07:00:00 None, NA
01:00:00-01:59:59 Sleeping 2,381 00:45:00 06:40:00 NA, None
02:00:00-02:59:59 Sleeping 3,059 01:05:00 06:30:00 NA, None
03:00:00-03:59:59 Sleeping 3,611 01:47:00 06:15:00 None, NA
04:00:00-04:59:59 Sleeping 4,224 02:45:00 06:00:00 None, NA
05:00:00-05:59:59 Sleeping 5,359 05:00:00 05:45:00 None, NA
06:00:00-06:59:59 Food and drink preparation 1,754 06:22:00 06:40:00 Enable, NA, Develop, Sustain
06:00:00-06:59:59 Physical care for hh children 1,931 06:30:00 06:45:00 NA, Develop
06:00:00-06:59:59 Sleeping 8,320 21:30:00 06:00:00 None, NA
07:00:00-07:59:59 Eating and drinking 2,188 07:20:00 07:45:00 None, NA, Develop, Sustain
07:00:00-07:59:59 Food and drink preparation 2,907 07:04:00 07:30:00 NA, Enable, Develop, Sustain
07:00:00-07:59:59 Physical care for hh children 3,301 07:10:00 07:35:00 NA, Develop, Sustain
07:00:00-07:59:59 Sleeping 10,626 22:00:00 06:45:00 None, NA
07:00:00-07:59:59 Television and movies (not religious) 1,479 07:55:00 07:00:00 None, NA, Develop, Sustain
07:00:00-07:59:59 Travel related to hh children's education 1,367 07:30:00 07:40:00 NA, None
07:00:00-07:59:59 Washing, dressing and grooming oneself 2,337 07:10:00 07:40:00 None, Develop, NA
08:00:00-08:59:59 Eating and drinking 2,954 08:00:00 08:30:00 None, Develop, NA, Sustain
08:00:00-08:59:59 Food and drink preparation 2,600 08:00:00 08:30:00 NA, Enable, Develop, Sustain
08:00:00-08:59:59 Interior cleaning 1,945 08:05:00 09:30:00 NA, Develop, Enable, Sustain
08:00:00-08:59:59 Physical care for hh children 2,696 08:02:00 08:30:00 Develop, NA, Sustain
08:00:00-08:59:59 Sleeping 11,455 22:00:00 07:00:00 None, NA
08:00:00-08:59:59 Television and movies (not religious) 1,742 08:35:00 08:15:00 NA, None, Develop, Sustain
08:00:00-08:59:59 Travel related to hh children's education 1,411 08:15:00 08:27:00 NA, None, Sustain
08:00:00-08:59:59 Washing, dressing and grooming oneself 2,576 08:00:00 08:35:30 Develop, None, NA
09:00:00-09:59:59 Eating and drinking 2,356 09:00:00 09:30:00 Develop, None, NA, Sustain
09:00:00-09:59:59 Food and drink preparation 1,892 09:00:00 09:30:00 Enable, Develop, NA, Sustain
09:00:00-09:59:59 Interior cleaning 2,707 08:55:00 10:15:00 NA, Enable, Develop, Sustain
09:00:00-09:59:59 Physical care for hh children 1,809 09:02:00 09:30:00 Develop, NA, Sustain
09:00:00-09:59:59 Sleeping 11,438 22:02:00 07:00:00 None, NA
09:00:00-09:59:59 Television and movies (not religious) 2,007 09:30:00 09:30:00 NA, None, Develop, Sustain
09:00:00-09:59:59 Washing, dressing and grooming oneself 2,166 09:00:00 09:30:00 Develop, None, NA
10:00:00-10:59:59 Eating and drinking 1,675 10:00:00 10:30:00 Develop, NA, None, Sustain
10:00:00-10:59:59 Food and drink preparation 1,545 10:00:00 10:40:00 Develop, NA, Enable, Sustain
10:00:00-10:59:59 Interior cleaning 2,755 09:30:00 11:00:00 Enable, NA, Develop, Sustain
10:00:00-10:59:59 Physical care for hh children 1,401 10:10:00 10:35:00 NA, Develop, Sustain
10:00:00-10:59:59 Sleeping 11,214 22:10:00 07:00:00 None, NA
10:00:00-10:59:59 Television and movies (not religious) 2,155 10:15:00 10:30:00 Develop, NA, None, Sustain
10:00:00-10:59:59 Washing, dressing and grooming oneself 1,558 10:00:00 10:30:00 NA, Develop, None
11:00:00-11:59:59 Eating and drinking 2,309 11:20:00 11:53:00 Develop, NA, None, Sustain
11:00:00-11:59:59 Food and drink preparation 2,174 11:10:00 11:48:30 Enable, NA, Develop, Sustain
11:00:00-11:59:59 Interior cleaning 2,354 10:15:00 12:00:00 Enable, Develop, NA, Sustain
11:00:00-11:59:59 Physical care for hh children 1,348 11:15:00 11:35:00 NA, Develop
11:00:00-11:59:59 Sleeping 11,087 22:10:00 06:50:00 None, NA
11:00:00-11:59:59 Television and movies (not religious) 2,270 11:10:00 11:30:00 NA, Develop, None, Sustain
12:00:00-12:59:59 Eating and drinking 3,843 12:10:00 12:45:00 NA, Develop, None, Sustain
12:00:00-12:59:59 Food and drink preparation 2,550 12:00:00 12:35:00 Enable, Develop, NA, Sustain
12:00:00-12:59:59 Interior cleaning 1,949 11:10:00 13:00:00 Enable, NA, Develop, Sustain
12:00:00-12:59:59 Physical care for hh children 1,552 12:15:00 12:35:00 NA, Develop
12:00:00-12:59:59 Sleeping 11,171 22:10:00 06:50:00 None, NA
12:00:00-12:59:59 Television and movies (not religious) 2,508 12:15:00 12:40:00 NA, Develop, None, Sustain
13:00:00-13:59:59 Eating and drinking 2,861 13:00:00 13:30:00 Develop, NA, None, Sustain
13:00:00-13:59:59 Food and drink preparation 1,794 13:00:00 13:40:00 NA, Enable, Develop, Sustain
13:00:00-13:59:59 Interior cleaning 1,710 12:33:30 14:00:00 Develop, Enable, NA, Sustain
13:00:00-13:59:59 Physical care for hh children 1,487 13:15:00 13:35:00 NA, Develop
13:00:00-13:59:59 Sleeping 11,386 22:05:00 07:00:00 None, NA
13:00:00-13:59:59 Socializing and communicating with others 1,334 13:00:00 14:00:00 NA, Develop, None, Sustain
13:00:00-13:59:59 Television and movies (not religious) 2,726 13:05:00 14:00:00 NA, Develop, None, Sustain
14:00:00-14:59:59 Eating and drinking 1,765 14:00:00 14:35:00 Develop, NA, None, Sustain
14:00:00-14:59:59 Food and drink preparation 1,694 14:00:00 14:45:00 Develop, NA, Enable, Sustain
14:00:00-14:59:59 Interior cleaning 1,537 13:35:00 15:00:00 Develop, Enable, NA, Sustain
14:00:00-14:59:59 Physical care for hh children 1,309 14:15:00 14:32:00 Develop, NA, Sustain
14:00:00-14:59:59 Sleeping 11,558 22:05:00 07:00:00 None, NA
14:00:00-14:59:59 Socializing and communicating with others 1,501 14:00:00 15:00:00 NA, Develop, None, Sustain
14:00:00-14:59:59 Television and movies (not religious) 2,966 14:00:00 15:00:00 NA, Develop, None, Sustain
14:00:00-14:59:59 Travel related to hh children's education 1,366 14:30:00 14:40:00 NA, None, Sustain
15:00:00-15:59:59 Eating and drinking 1,463 15:05:00 15:40:00 Develop, NA, None, Sustain
15:00:00-15:59:59 Food and drink preparation 2,233 15:10:00 15:51:00 NA, Enable, Develop, Sustain
15:00:00-15:59:59 Physical care for hh children 1,309 15:15:00 15:31:00 Develop, NA
15:00:00-15:59:59 Sleeping 11,488 22:05:00 07:00:00 None, NA
15:00:00-15:59:59 Socializing and communicating with others 1,650 15:00:00 16:00:00 Develop, NA, None, Sustain
15:00:00-15:59:59 Television and movies (not religious) 3,175 15:00:00 16:00:00 NA, None, Develop, Sustain
15:00:00-15:59:59 Travel related to hh children's education 1,584 15:17:00 15:30:00 None, NA, Sustain
16:00:00-16:59:59 Eating and drinking 1,864 16:15:00 16:55:00 NA, Develop, None, Sustain
16:00:00-16:59:59 Food and drink preparation 3,220 16:10:00 17:00:00 NA, Develop, Enable, Sustain
16:00:00-16:59:59 Sleeping 11,286 22:09:00 07:00:00 None, NA
16:00:00-16:59:59 Socializing and communicating with others 1,831 16:00:00 17:00:00 NA, Develop, None, Sustain
16:00:00-16:59:59 Television and movies (not religious) 3,243 16:00:00 16:55:00 NA, None, Develop, Sustain
17:00:00-17:59:59 Eating and drinking 3,861 17:15:00 17:58:00 NA, None, Develop, Sustain
17:00:00-17:59:59 Food and drink preparation 4,135 17:00:00 17:40:00 NA, Develop, Enable, Sustain
17:00:00-17:59:59 Physical care for hh children 1,366 17:20:00 17:40:00 NA, Develop
17:00:00-17:59:59 Sleeping 11,080 22:10:00 06:50:00 None, NA
17:00:00-17:59:59 Socializing and communicating with others 1,977 17:00:00 17:55:00 Develop, NA, None, Sustain
17:00:00-17:59:59 Television and movies (not religious) 3,436 17:00:00 18:00:00 None, NA, Develop, Sustain
18:00:00-18:59:59 Eating and drinking 5,116 18:00:00 18:41:00 None, NA, Develop, Sustain
18:00:00-18:59:59 Food and drink preparation 3,069 17:58:00 18:30:00 NA, Develop, Enable, Sustain
18:00:00-18:59:59 Kitchen and food clean-up 1,730 18:15:00 18:40:00 Develop, NA, Enable, Sustain
18:00:00-18:59:59 Physical care for hh children 1,905 18:25:00 18:45:00 Develop, NA, Sustain
18:00:00-18:59:59 Sleeping 10,917 22:14:00 06:45:00 None, NA
18:00:00-18:59:59 Socializing and communicating with others 1,976 18:00:00 18:50:00 Develop, NA, None, Sustain
18:00:00-18:59:59 Television and movies (not religious) 4,109 18:05:00 19:01:00 None, Develop, NA, Sustain
19:00:00-19:59:59 Eating and drinking 3,703 18:55:00 19:30:00 None, NA, Develop, Sustain
19:00:00-19:59:59 Food and drink preparation 1,564 19:00:00 19:30:00 NA, Develop, Enable, Sustain
19:00:00-19:59:59 Kitchen and food clean-up 1,653 19:05:00 19:35:00 NA, Develop, Enable, Sustain
19:00:00-19:59:59 Physical care for hh children 3,574 19:20:00 19:43:00 Develop, NA, Sustain
19:00:00-19:59:59 Sleeping 10,821 22:15:00 06:45:00 None, NA
19:00:00-19:59:59 Socializing and communicating with others 1,868 19:00:00 19:55:00 NA, Develop, None, Sustain
19:00:00-19:59:59 Television and movies (not religious) 5,297 19:00:00 20:15:00 None, NA, Develop, Sustain
20:00:00-20:59:59 Eating and drinking 2,014 19:55:00 20:30:00 None, Develop, NA, Sustain
20:00:00-20:59:59 Physical care for hh children 4,333 20:10:00 20:31:00 Develop, NA, Sustain
20:00:00-20:59:59 Sleeping 10,669 22:15:00 06:45:00 None, NA
20:00:00-20:59:59 Socializing and communicating with others 1,762 19:55:00 20:50:00 NA, Develop, None, Sustain
20:00:00-20:59:59 Television and movies (not religious) 6,596 19:55:00 21:00:00 None, NA, Develop, Sustain
20:00:00-20:59:59 Washing, dressing and grooming oneself 1,449 20:25:00 20:40:00 None, NA, Develop
21:00:00-21:59:59 Physical care for hh children 3,089 21:01:00 21:29:00 NA, Develop, Sustain
21:00:00-21:59:59 Sleeping 9,945 22:21:00 06:50:00 None, NA
21:00:00-21:59:59 Socializing and communicating with others 1,530 20:46:00 21:40:00 NA, Develop, None, Sustain
21:00:00-21:59:59 Television and movies (not religious) 6,895 20:30:00 22:00:00 NA, None, Develop, Sustain
21:00:00-21:59:59 Washing, dressing and grooming oneself 2,092 21:17:00 21:35:00 NA, None, Develop
22:00:00-22:59:59 Physical care for hh children 1,304 22:00:00 22:20:00 NA, Develop, Sustain
22:00:00-22:59:59 Sleeping 7,419 22:36:00 07:00:00 None, NA
22:00:00-22:59:59 Television and movies (not religious) 5,060 21:15:00 22:30:00 NA, Develop, None, Sustain
22:00:00-22:59:59 Washing, dressing and grooming oneself 1,890 22:10:00 22:29:30 None, NA, Develop
23:00:00-23:59:59 Sleeping 3,133 23:10:00 07:00:00 None, NA
23:00:00-23:59:59 Television and movies (not religious) 1,984 21:55:00 23:00:00 NA, None, Develop, Sustain
persona_2 <- common_activities_hourly

Persona 3

The next persona that we are interested in is the “Sandwich” generation persona. Sandwich generation refers to the increasingly prominent phenomena where an adult has care responsibilities to both a child AND an elderly family member. This group faces significant overwork as they have a lot of care responsibilities within their home, despite often working a job in the formal economy as well.

persona <- atus %>% filter(empstat != "Employed" & nchild > 0 & marst == "Married" & ECPRIOR == 1)

persona <- persona %>%
  mutate(
    FOCUS = ifelse(SCC_ALL_LN > 0, "Develop", FOCUS),
    DURATION = ifelse(SCC_ALL_LN > 0, SCC_ALL_LN, DURATION)
  )

persona <- persona %>%
  mutate(
    FOCUS = ifelse(SEC_ALL_LN > 0, "Sustain", FOCUS),
    DURATION = ifelse(SEC_ALL_LN > 0, SEC_ALL_LN, DURATION)
  )

persona <- persona %>%
  group_by(CASEID) %>%
  filter(any(SEC_ALL_LN > 0)) %>%
  ungroup()

Let’s start by looking at some statistics about this persona that we might be interested in. For instance, the most important statistic we might want to consider is how much time this individual spends on different care focuses. The table below shows the average amount of time this persona spends on the various care focuses. One thing to note is that is they are spending time on secondary chilid care, we consider that to be development care, and if they are spending time on secondary adult care, we consider that to be part of sustain care.

temp <- persona %>%
  group_by(CASEID,FOCUS) %>%
  summarise(time = sum(DURATION))
## `summarise()` has grouped output by 'CASEID'. You can override using the
## `.groups` argument.
mean_hours <- temp %>%
  group_by(FOCUS) %>%
  summarise(hours = median(time/60))

mean_hours <- mean_hours %>%
  gt() %>%
  tab_header(
    title = "Mean Hours by Focus"
  ) %>%
  fmt_number(
    columns = vars(hours),
    decimals = 2
  ) %>%
  cols_label(
    FOCUS = "Focus",
    hours = "Mean Hours"
  ) %>%
  tab_options(
    table.font.size = "small",
    heading.align = "center"
  )
## Warning: Since gt v0.3.0, `columns = vars(...)` has been deprecated.
## • Please use `columns = c(...)` instead.
## Since gt v0.3.0, `columns = vars(...)` has been deprecated.
## • Please use `columns = c(...)` instead.
mean_hours
Mean Hours by Focus
Focus Mean Hours
Develop 7.17
Enable 2.50
None 15.29
Sustain 2.00

This simple distribution of time acitivites is useful for us to construct a very general idea of what a person’s day looks like.

Using this we now want to build out what the average Day looks like for a person in this category. To do this we’re going to look at for each 1 hour period what the most common activity taking place is and if any secondary activity is happening. We’re then going to simplify these activities into general categories.

# Function to get the most common activity for a given time range
get_most_common_activity <- function(start_time, end_time, data) {
  data %>%
    filter(START < sprintf("%02d:%02d:00", end_time %/% 1, (end_time %% 1) * 60) & 
             STOP >= sprintf("%02d:%02d:00", start_time %/% 1, (start_time %% 1) * 60)) %>%
    count(ACTIVITY) %>%
    arrange(desc(n)) %>%
    slice(1) %>%
    pull(ACTIVITY)
}

# Create a sequence of quarter-hour intervals
quarter_hours <- seq(0, 24, by = 0.25) # 0.25 represents 15 minutes (1/4 hour)

# Calculate the most common activity for each quarter-hour
results <- tibble(
  QuarterHour = paste0(sprintf("%02d:%02d", quarter_hours[-length(quarter_hours)] %/% 1, 
                               (quarter_hours[-length(quarter_hours)] %% 1) * 60), 
                       "-", 
                       sprintf("%02d:%02d", quarter_hours[-1] %/% 1, 
                               (quarter_hours[-1] %% 1) * 60)),
  Activity = sapply(1:(length(quarter_hours) - 1), function(i) {
    get_most_common_activity(quarter_hours[i], quarter_hours[i + 1], persona)
  })
)

results <- results %>%
  gt() %>%
  tab_header(
    title = "Activity by Quarter Hour"
  ) %>%
  cols_label(
    QuarterHour = "Quarter Hour",
    Activity = "Activity"
  ) %>%
  tab_options(
    table.font.size = "small",
    heading.align = "center"
  )

# Display the results
results
Activity by Quarter Hour
Quarter Hour Activity
00:00-00:15 Sleeping
00:15-00:30 Sleeping
00:30-00:45 Sleeping
00:45-01:00 Sleeping
01:00-01:15 Sleeping
01:15-01:30 Sleeping
01:30-01:45 Sleeping
01:45-02:00 Sleeping
02:00-02:15 Sleeping
02:15-02:30 Sleeping
02:30-02:45 Sleeping
02:45-03:00 Sleeping
03:00-03:15 Sleeping
03:15-03:30 Sleeping
03:30-03:45 Sleeping
03:45-04:00 Sleeping
04:00-04:15 Sleeping
04:15-04:30 Sleeping
04:30-04:45 Sleeping
04:45-05:00 Sleeping
05:00-05:15 Sleeping
05:15-05:30 Sleeping
05:30-05:45 Sleeping
05:45-06:00 Sleeping
06:00-06:15 Sleeping
06:15-06:30 Sleeping
06:30-06:45 Sleeping
06:45-07:00 Sleeping
07:00-07:15 Sleeping
07:15-07:30 Sleeping
07:30-07:45 Sleeping
07:45-08:00 Sleeping
08:00-08:15 Sleeping
08:15-08:30 Sleeping
08:30-08:45 Sleeping
08:45-09:00 Sleeping
09:00-09:15 Sleeping
09:15-09:30 Sleeping
09:30-09:45 Sleeping
09:45-10:00 Interior cleaning
10:00-10:15 Interior cleaning
10:15-10:30 Interior cleaning
10:30-10:45 Interior cleaning
10:45-11:00 Interior cleaning
11:00-11:15 Interior cleaning
11:15-11:30 Interior cleaning
11:30-11:45 Socializing and communicating with others
11:45-12:00 Socializing and communicating with others
12:00-12:15 Socializing and communicating with others
12:15-12:30 Eating and drinking
12:30-12:45 Eating and drinking
12:45-13:00 Eating and drinking
13:00-13:15 Eating and drinking
13:15-13:30 Eating and drinking
13:30-13:45 Eating and drinking
13:45-14:00 Television and movies (not religious)
14:00-14:15 Television and movies (not religious)
14:15-14:30 Television and movies (not religious)
14:30-14:45 Television and movies (not religious)
14:45-15:00 Television and movies (not religious)
15:00-15:15 Television and movies (not religious)
15:15-15:30 Television and movies (not religious)
15:30-15:45 Television and movies (not religious)
15:45-16:00 Television and movies (not religious)
16:00-16:15 Television and movies (not religious)
16:15-16:30 Television and movies (not religious)
16:30-16:45 Television and movies (not religious)
16:45-17:00 Television and movies (not religious)
17:00-17:15 Food and drink preparation
17:15-17:30 Television and movies (not religious)
17:30-17:45 Television and movies (not religious)
17:45-18:00 Television and movies (not religious)
18:00-18:15 Eating and drinking
18:15-18:30 Television and movies (not religious)
18:30-18:45 Eating and drinking
18:45-19:00 Television and movies (not religious)
19:00-19:15 Television and movies (not religious)
19:15-19:30 Television and movies (not religious)
19:30-19:45 Television and movies (not religious)
19:45-20:00 Television and movies (not religious)
20:00-20:15 Television and movies (not religious)
20:15-20:30 Television and movies (not religious)
20:30-20:45 Television and movies (not religious)
20:45-21:00 Television and movies (not religious)
21:00-21:15 Television and movies (not religious)
21:15-21:30 Television and movies (not religious)
21:30-21:45 Television and movies (not religious)
21:45-22:00 Television and movies (not religious)
22:00-22:15 Television and movies (not religious)
22:15-22:30 Television and movies (not religious)
22:30-22:45 Television and movies (not religious)
22:45-23:00 Television and movies (not religious)
23:00-23:15 Television and movies (not religious)
23:15-23:30 Television and movies (not religious)
23:30-23:45 Television and movies (not religious)
23:45-24:00 Television and movies (not religious)

One of the issues with this is that it does not account for the true variability in activities that are occuring within a day. As such, we might want to generate a list of all the activities that this persona is likely to do in the day. To do this we can create a list of all these activities and generate data on the median start and stop time for these activities. Additionally, let’s restrict this to only the activities that at least 20 percent of the individuals took part in during their day.

# Function to convert "HH:MM:SS" to total seconds
time_to_seconds <- function(time_str) {
  sapply(strsplit(time_str, ":"), function(x) {
    sum(as.numeric(x) * c(3600, 60, 1))
  })
}

# Function to convert total seconds back to "HH:MM:SS" format
seconds_to_time <- function(seconds) {
  sprintf("%02d:%02d:%02d", 
          seconds %/% 3600, 
          (seconds %% 3600) %/% 60, 
          seconds %% 60)
}

common_activities <- persona %>%
  filter(START != "04:00:00") %>%
  group_by(ACTIVITY) %>%
  summarise(
    count = n(),
    MEDIAN_START = median(time_to_seconds(START)),
    MEDIAN_STOP = median(time_to_seconds(STOP)),
    FOCUS = list(unique(FOCUS))
  ) %>%
  ungroup() %>%
  mutate(
    MEDIAN_START = seconds_to_time(MEDIAN_START),
    MEDIAN_STOP = seconds_to_time(MEDIAN_STOP)
  ) %>%
  filter(count > length(unique(persona$CASEID))*0.2)

common_activities <- common_activities %>%
  gt() %>%
  tab_header(
    title = "Common Activities Overview"
  ) %>%
  cols_label(
    ACTIVITY = "Activity",
    count = "Count",
    MEDIAN_START = "Median Start Time",
    MEDIAN_STOP = "Median Stop Time",
    FOCUS = "Focus"
  ) %>%
  fmt_number(
    columns = vars(count),
    decimals = 0
  ) %>%
  tab_options(
    table.font.size = "small",
    heading.align = "center"
  ) %>%
  cols_width(
    ACTIVITY ~ px(250), # Adjust the column width for clarity
    MEDIAN_START ~ px(150),
    MEDIAN_STOP ~ px(150),
    count ~ px(100),
    FOCUS ~ px(200)
  )
## Warning: Since gt v0.3.0, `columns = vars(...)` has been deprecated.
## • Please use `columns = c(...)` instead.
## Since gt v0.3.0, `columns = vars(...)` has been deprecated.
## • Please use `columns = c(...)` instead.
# Render the table in R Markdown (HTML format)
common_activities
Common Activities Overview
Activity Count Median Start Time Median Stop Time Focus
Eating and drinking 764 13:18:00 14:00:00 Develop, Sustain, None
Food and drink preparation 661 12:30:00 13:00:00 Enable, Sustain, Develop
Grocery shopping 100 13:20:00 14:05:00 Develop, Enable, Sustain
Household & personal organization and planning 130 13:52:30 14:05:30 Develop, Enable, Sustain
Interior cleaning 230 10:42:30 12:00:00 Enable, Sustain, Develop
Kitchen and food clean-up 296 16:18:00 16:32:30 Enable, Develop, Sustain
Laundry 194 11:20:30 12:32:30 Sustain, Enable, Develop
Lawn, garden, and houseplant care 92 12:03:00 13:35:00 Sustain, Enable, Develop
Physical care for hh adults 175 11:20:00 12:05:00 Sustain, Develop
Physical care for hh children 324 15:30:30 15:53:30 Develop, Sustain
Reading for personal interest 114 16:40:00 15:57:30 None, Sustain, Develop
Relaxing, thinking 98 14:50:00 16:00:00 None, Sustain, Develop
Shopping, except groceries, food and gas 133 13:36:00 14:15:00 Develop, Enable, Sustain
Sleeping 473 21:45:00 07:00:00 None
Socializing and communicating with others 364 15:05:00 16:27:30 Develop, None, Sustain
Television and movies (not religious) 669 18:00:00 19:00:00 None, Sustain, Develop
Travel related to eating and drinking 98 13:38:00 14:05:00 Sustain, Develop, None
Travel related to grocery shopping 167 13:30:00 13:40:00 Develop, Sustain, None
Travel related to hh children's education 175 14:00:00 14:19:00 None, Sustain
Travel related to purchasing food (not groceries) 83 15:09:00 15:15:00 None, Sustain, Develop
Travel related to shopping, ex groceries, food, and gas 177 14:06:00 14:20:00 Sustain, Develop, None
Travel related to socializing and communicating 188 14:55:00 15:15:00 None, Develop, Sustain
Walking / exercising / playing with animals 101 14:00:00 14:50:00 None, Sustain, Develop
Washing, dressing and grooming oneself 475 12:35:00 12:50:00 None, Develop
NA 285 13:50:00 14:00:00 None, Sustain, Develop

The main issue that this has is for activities that might occur sporadically throughout the day, such as eating and drinking, the median time data is not useful. For example a person might eat in the morning, around noon, and in the evening, aggregating this data by median time leads to a conclusion that eating only occurs in the early afternoon, which is not accurate. Thus lets change this and look at the common activities that are occuring within each hour.

# Create a function to identify the hour interval
get_hour_interval <- function(start, stop) {
  # Convert "HH:MM:SS" to seconds
  start_sec <- time_to_seconds(start)
  stop_sec <- time_to_seconds(stop)
  
  # Get all hours that overlap with the activity
  hours <- (start_sec %/% 3600):(stop_sec %/% 3600)
  return(paste0(sprintf("%02d:00:00", hours), "-", sprintf("%02d:59:59", hours)))
}

# Expand the data to one row per hour interval
persona_hourly <- persona %>%
  mutate(hour_intervals = purrr::map2(START, STOP, get_hour_interval)) %>%
  tidyr::unnest(hour_intervals)

# Group by hour interval and activity
common_activities_hourly <- persona_hourly %>%
  filter(START != "04:00:00") %>%
  group_by(hour_intervals, ACTIVITY) %>%
  summarise(
    count = n(),
    MEDIAN_START = median(time_to_seconds(START)),
    MEDIAN_STOP = median(time_to_seconds(STOP)),
    FOCUS = list(unique(FOCUS)),
    .groups = "drop"
  ) %>%
  ungroup() %>%
  mutate(
    MEDIAN_START = seconds_to_time(MEDIAN_START),
    MEDIAN_STOP = seconds_to_time(MEDIAN_STOP)
  ) %>%
  filter(count > length(unique(persona$CASEID)) * 0.1)

common_activities_hourly <- common_activities_hourly %>%
  gt() %>%
  tab_header(
    title = "Hourly Activity Summary"
  ) %>%
  cols_label(
    hour_intervals = "Hour Intervals",
    ACTIVITY = "Activity",
    count = "Count",
    MEDIAN_START = "Median Start Time",
    MEDIAN_STOP = "Median Stop Time",
    FOCUS = "Focus"
  ) %>%
  fmt_number(
    columns = vars(count),
    decimals = 0
  ) %>%
  tab_options(
    table.font.size = "small",
    heading.align = "center"
  ) %>%
  cols_width(
    hour_intervals ~ px(150),
    ACTIVITY ~ px(250),
    count ~ px(100),
    MEDIAN_START ~ px(150),
    MEDIAN_STOP ~ px(150),
    FOCUS ~ px(200)
  )
## Warning: Since gt v0.3.0, `columns = vars(...)` has been deprecated.
## • Please use `columns = c(...)` instead.
## Since gt v0.3.0, `columns = vars(...)` has been deprecated.
## • Please use `columns = c(...)` instead.
# Render the table in R Markdown (HTML format)
common_activities_hourly
Hourly Activity Summary
Hour Intervals Activity Count Median Start Time Median Stop Time Focus
00:00:00-00:59:59 Sleeping 42 00:17:30 07:00:00 None
01:00:00-01:59:59 Sleeping 71 00:55:00 07:00:00 None
02:00:00-02:59:59 Sleeping 95 01:15:00 06:45:00 None
03:00:00-03:59:59 Sleeping 109 01:30:00 06:45:00 None
04:00:00-04:59:59 Sleeping 134 02:00:00 06:00:00 None
05:00:00-05:59:59 Sleeping 169 05:12:00 05:45:00 None
05:00:00-05:59:59 Television and movies (not religious) 39 22:00:00 00:30:00 None, Sustain, Develop
06:00:00-06:59:59 Food and drink preparation 48 06:30:00 06:45:00 Enable, Sustain, Develop
06:00:00-06:59:59 Sleeping 233 21:15:00 06:00:00 None
06:00:00-06:59:59 Television and movies (not religious) 53 20:25:00 01:00:00 None, Sustain, Develop
07:00:00-07:59:59 Eating and drinking 71 07:15:00 07:40:00 Sustain, Develop, None
07:00:00-07:59:59 Food and drink preparation 87 07:05:00 07:40:00 Enable, Sustain, Develop
07:00:00-07:59:59 Physical care for hh children 44 07:01:30 07:18:00 Sustain, Develop
07:00:00-07:59:59 Sleeping 311 22:00:00 07:00:00 None
07:00:00-07:59:59 Television and movies (not religious) 63 14:15:00 03:00:00 None, Sustain, Develop
07:00:00-07:59:59 Washing, dressing and grooming oneself 66 07:00:00 07:30:00 None, Develop
08:00:00-08:59:59 Eating and drinking 95 08:00:00 08:35:00 None, Sustain, Develop
08:00:00-08:59:59 Food and drink preparation 77 08:00:00 08:30:00 Sustain, Develop, Enable
08:00:00-08:59:59 Interior cleaning 48 08:07:30 09:15:30 Enable, Develop, Sustain
08:00:00-08:59:59 Sleeping 330 22:04:00 07:00:00 None
08:00:00-08:59:59 Television and movies (not religious) 69 08:40:00 08:00:00 None, Sustain, Develop
08:00:00-08:59:59 Washing, dressing and grooming oneself 81 08:00:00 08:31:00 Develop, None
09:00:00-09:59:59 Eating and drinking 64 09:00:00 09:31:00 None, Develop, Sustain
09:00:00-09:59:59 Food and drink preparation 64 09:02:30 09:37:30 Enable, Sustain, Develop
09:00:00-09:59:59 Interior cleaning 72 09:00:00 10:06:30 Enable, Develop, Sustain
09:00:00-09:59:59 Sleeping 326 22:20:00 07:00:00 None
09:00:00-09:59:59 Socializing and communicating with others 40 09:15:00 10:01:00 Sustain, None, Develop
09:00:00-09:59:59 Television and movies (not religious) 70 09:49:00 09:00:00 None, Sustain, Develop
09:00:00-09:59:59 Washing, dressing and grooming oneself 67 09:00:00 09:30:00 None, Develop
10:00:00-10:59:59 Eating and drinking 53 10:00:00 10:30:00 Develop, None, Sustain
10:00:00-10:59:59 Food and drink preparation 51 10:00:00 10:30:00 Sustain, Enable, Develop
10:00:00-10:59:59 Interior cleaning 62 09:32:30 11:05:00 Enable, Develop, Sustain
10:00:00-10:59:59 Laundry 41 10:00:00 11:00:00 Sustain, Enable, Develop
10:00:00-10:59:59 Sleeping 320 22:25:00 07:00:00 None
10:00:00-10:59:59 Socializing and communicating with others 50 09:57:30 11:07:30 Sustain, None, Develop
10:00:00-10:59:59 Television and movies (not religious) 79 10:30:00 10:30:00 None, Sustain, Develop
10:00:00-10:59:59 Washing, dressing and grooming oneself 44 10:00:00 10:26:00 None, Develop
11:00:00-11:59:59 Eating and drinking 47 11:15:00 11:45:00 None, Sustain, Develop
11:00:00-11:59:59 Food and drink preparation 54 11:30:00 12:00:00 Enable, Sustain, Develop
11:00:00-11:59:59 Interior cleaning 64 10:18:00 11:41:00 Enable, Develop, Sustain
11:00:00-11:59:59 Sleeping 314 22:30:00 07:00:00 None
11:00:00-11:59:59 Socializing and communicating with others 60 11:01:30 12:01:30 Sustain, None, Develop
11:00:00-11:59:59 Television and movies (not religious) 82 11:15:00 11:02:30 Sustain, None, Develop
12:00:00-12:59:59 Eating and drinking 90 12:15:00 12:45:00 None, Develop, Sustain
12:00:00-12:59:59 Food and drink preparation 75 12:00:00 12:34:00 Enable, Sustain, Develop
12:00:00-12:59:59 Interior cleaning 43 11:20:00 12:35:00 Enable, Sustain, Develop
12:00:00-12:59:59 Sleeping 315 22:30:00 07:00:00 None
12:00:00-12:59:59 Socializing and communicating with others 67 11:50:00 13:00:00 Develop, Sustain, None
12:00:00-12:59:59 Television and movies (not religious) 88 12:34:30 12:27:30 Sustain, None, Develop
12:00:00-12:59:59 NA 40 12:16:30 12:30:00 None, Develop, Sustain
13:00:00-13:59:59 Eating and drinking 98 13:00:00 13:31:00 None, Develop, Sustain
13:00:00-13:59:59 Food and drink preparation 60 13:00:00 13:30:00 Enable, Sustain, Develop
13:00:00-13:59:59 Sleeping 320 22:27:30 07:00:00 None
13:00:00-13:59:59 Socializing and communicating with others 66 12:46:00 14:00:00 None, Develop, Sustain
13:00:00-13:59:59 Television and movies (not religious) 99 13:20:00 13:50:00 Develop, None, Sustain
14:00:00-14:59:59 Eating and drinking 56 13:55:30 14:32:00 None, Develop, Sustain
14:00:00-14:59:59 Food and drink preparation 45 14:01:00 14:50:00 Enable, Sustain, Develop
14:00:00-14:59:59 Sleeping 328 22:25:00 07:00:00 None
14:00:00-14:59:59 Socializing and communicating with others 73 14:00:00 15:00:00 None, Develop, Sustain
14:00:00-14:59:59 Television and movies (not religious) 105 14:04:00 14:45:00 Develop, None, Sustain
15:00:00-15:59:59 Food and drink preparation 53 15:05:00 15:45:00 Enable, Sustain, Develop
15:00:00-15:59:59 Sleeping 328 22:25:00 07:00:00 None
15:00:00-15:59:59 Socializing and communicating with others 66 14:50:00 16:00:00 Develop, Sustain, None
15:00:00-15:59:59 Television and movies (not religious) 122 15:03:30 15:54:00 Develop, None, Sustain
16:00:00-16:59:59 Eating and drinking 52 16:21:00 17:00:00 None, Sustain, Develop
16:00:00-16:59:59 Food and drink preparation 85 16:10:00 17:00:00 Enable, Develop, Sustain
16:00:00-16:59:59 Sleeping 319 22:30:00 07:00:00 None
16:00:00-16:59:59 Socializing and communicating with others 79 15:50:00 17:00:00 Develop, Sustain, None
16:00:00-16:59:59 Television and movies (not religious) 125 16:00:00 17:00:00 None, Sustain, Develop
17:00:00-17:59:59 Eating and drinking 117 17:10:00 17:55:00 Develop, None, Sustain
17:00:00-17:59:59 Food and drink preparation 121 17:00:00 17:45:00 Enable, Develop, Sustain
17:00:00-17:59:59 Sleeping 321 22:25:00 07:00:00 None
17:00:00-17:59:59 Socializing and communicating with others 72 16:45:30 17:30:00 Sustain, Develop, None
17:00:00-17:59:59 Television and movies (not religious) 145 17:00:00 17:55:00 None, Sustain, Develop
18:00:00-18:59:59 Eating and drinking 150 18:01:30 18:45:00 Develop, None, Sustain
18:00:00-18:59:59 Food and drink preparation 79 17:40:00 18:24:00 Enable, Develop, Sustain
18:00:00-18:59:59 Kitchen and food clean-up 54 18:14:30 18:45:00 Develop, Enable, Sustain
18:00:00-18:59:59 Sleeping 321 22:25:00 07:00:00 None
18:00:00-18:59:59 Socializing and communicating with others 56 17:53:00 18:47:30 Sustain, None, Develop
18:00:00-18:59:59 Television and movies (not religious) 159 18:00:00 19:00:00 None, Sustain, Develop
19:00:00-19:59:59 Eating and drinking 111 18:46:00 19:30:00 Develop, Sustain, None
19:00:00-19:59:59 Food and drink preparation 39 19:00:00 19:30:00 Enable, Develop, Sustain
19:00:00-19:59:59 Kitchen and food clean-up 52 19:00:00 19:30:00 Enable, Develop, Sustain
19:00:00-19:59:59 Physical care for hh children 49 19:15:00 19:30:00 Develop, Sustain
19:00:00-19:59:59 Sleeping 316 22:30:00 07:00:00 None
19:00:00-19:59:59 Socializing and communicating with others 57 19:00:00 19:47:00 Sustain, None, Develop
19:00:00-19:59:59 Television and movies (not religious) 199 19:00:00 20:15:00 Sustain, None, Develop
20:00:00-20:59:59 Eating and drinking 51 19:40:00 20:15:00 Sustain, None, Develop
20:00:00-20:59:59 Physical care for hh children 60 20:09:30 20:30:00 Develop, Sustain
20:00:00-20:59:59 Sleeping 307 22:30:00 07:00:00 None
20:00:00-20:59:59 Socializing and communicating with others 53 20:00:00 20:37:00 None, Develop, Sustain
20:00:00-20:59:59 Television and movies (not religious) 243 19:45:00 21:15:00 None, Sustain, Develop
20:00:00-20:59:59 Washing, dressing and grooming oneself 47 20:17:00 20:40:00 Develop, None
21:00:00-21:59:59 Sleeping 292 22:30:00 07:00:00 None
21:00:00-21:59:59 Socializing and communicating with others 47 21:00:00 21:30:00 Sustain, None, Develop
21:00:00-21:59:59 Television and movies (not religious) 240 20:25:00 22:00:00 None, Sustain, Develop
21:00:00-21:59:59 Washing, dressing and grooming oneself 62 21:18:00 21:37:30 Develop, None
22:00:00-22:59:59 Sleeping 228 22:45:00 07:00:00 None
22:00:00-22:59:59 Television and movies (not religious) 178 21:00:00 22:30:00 None, Sustain, Develop
22:00:00-22:59:59 Washing, dressing and grooming oneself 65 22:05:00 22:30:00 None, Develop
23:00:00-23:59:59 Sleeping 105 23:15:00 07:00:00 None
23:00:00-23:59:59 Television and movies (not religious) 85 21:43:00 23:00:00 None, Sustain, Develop
persona_3 <- common_activities_hourly

Persona 4

The fourth persona we are interested is potentially a group of people who have the least amount of care responsibillities. This a a group of young adults without children living with parents. This a a growing group in US society and thus might be interesting to compare to as they tend to be viewed as having the lowest level of care responsibilities. Despite this as can be seen, even the most care privledged individuas contiue to have some repsonsibilities.

persona <- atus %>% filter(empstat != "Employed" & nchild == 0 & HH_SIZE > 3, age_category == "Eighteen/Twenty-Four")

persona <- persona %>%
  mutate(
    FOCUS = ifelse(SCC_ALL_LN > 0, "Develop", FOCUS),
    DURATION = ifelse(SCC_ALL_LN > 0, SCC_ALL_LN, DURATION)
  )

persona <- persona %>%
  mutate(
    FOCUS = ifelse(SEC_ALL_LN > 0, "Sustain", FOCUS),
    DURATION = ifelse(SEC_ALL_LN > 0, SEC_ALL_LN, DURATION)
  )

persona <- persona %>%
  group_by(CASEID) %>%
  filter(any(SEC_ALL_LN > 0)) %>%
  ungroup()

Let’s start by looking at some statistics about this persona that we might be interested in. For instance, the most important statistic we might want to consider is how much time this individual spends on different care focuses. The table below shows the average amount of time this persona spends on the various care focuses. One thing to note is that is they are spending time on secondary chilid care, we consider that to be development care, and if they are spending time on secondary adult care, we consider that to be part of sustain care.

temp <- persona %>%
  group_by(CASEID,FOCUS) %>%
  summarise(time = sum(DURATION))
## `summarise()` has grouped output by 'CASEID'. You can override using the
## `.groups` argument.
mean_hours <- temp %>%
  group_by(FOCUS) %>%
  summarise(hours = median(time/60))

mean_hours <- mean_hours %>%
  gt() %>%
  tab_header(
    title = "Mean Hours by Focus"
  ) %>%
  fmt_number(
    columns = vars(hours),
    decimals = 2
  ) %>%
  cols_label(
    FOCUS = "Focus",
    hours = "Mean Hours"
  ) %>%
  tab_options(
    table.font.size = "small",
    heading.align = "center"
  )
## Warning: Since gt v0.3.0, `columns = vars(...)` has been deprecated.
## • Please use `columns = c(...)` instead.
## Since gt v0.3.0, `columns = vars(...)` has been deprecated.
## • Please use `columns = c(...)` instead.
mean_hours
Mean Hours by Focus
Focus Mean Hours
Develop 0.92
Enable 1.67
None 19.75
Sustain 1.38

This simple distribution of time acitivites is useful for us to construct a very general idea of what a person’s day looks like.

Using this we now want to build out what the average Day looks like for a person in this category. To do this we’re going to look at for each 1 hour period what the most common activity taking place is and if any secondary activity is happening. We’re then going to simplify these activities into general categories.

# Function to get the most common activity for a given time range
get_most_common_activity <- function(start_time, end_time, data) {
  data %>%
    filter(START < sprintf("%02d:%02d:00", end_time %/% 1, (end_time %% 1) * 60) & 
             STOP >= sprintf("%02d:%02d:00", start_time %/% 1, (start_time %% 1) * 60)) %>%
    count(ACTIVITY) %>%
    arrange(desc(n)) %>%
    slice(1) %>%
    pull(ACTIVITY)
}

# Create a sequence of quarter-hour intervals
quarter_hours <- seq(0, 24, by = 0.25) # 0.25 represents 15 minutes (1/4 hour)

# Calculate the most common activity for each quarter-hour
results <- tibble(
  QuarterHour = paste0(sprintf("%02d:%02d", quarter_hours[-length(quarter_hours)] %/% 1, 
                               (quarter_hours[-length(quarter_hours)] %% 1) * 60), 
                       "-", 
                       sprintf("%02d:%02d", quarter_hours[-1] %/% 1, 
                               (quarter_hours[-1] %% 1) * 60)),
  Activity = sapply(1:(length(quarter_hours) - 1), function(i) {
    get_most_common_activity(quarter_hours[i], quarter_hours[i + 1], persona)
  })
)

results <- results %>%
  gt() %>%
  tab_header(
    title = "Activity by Quarter Hour"
  ) %>%
  cols_label(
    QuarterHour = "Quarter Hour",
    Activity = "Activity"
  ) %>%
  tab_options(
    table.font.size = "small",
    heading.align = "center"
  )

# Display the results
results
Activity by Quarter Hour
Quarter Hour Activity
00:00-00:15 Sleeping
00:15-00:30 Sleeping
00:30-00:45 Sleeping
00:45-01:00 Sleeping
01:00-01:15 Sleeping
01:15-01:30 Sleeping
01:30-01:45 Sleeping
01:45-02:00 Sleeping
02:00-02:15 Sleeping
02:15-02:30 Sleeping
02:30-02:45 Sleeping
02:45-03:00 Sleeping
03:00-03:15 Sleeping
03:15-03:30 Sleeping
03:30-03:45 Sleeping
03:45-04:00 Sleeping
04:00-04:15 Sleeping
04:15-04:30 Sleeping
04:30-04:45 Sleeping
04:45-05:00 Sleeping
05:00-05:15 Sleeping
05:15-05:30 Sleeping
05:30-05:45 Sleeping
05:45-06:00 Sleeping
06:00-06:15 Sleeping
06:15-06:30 Sleeping
06:30-06:45 Sleeping
06:45-07:00 Sleeping
07:00-07:15 Sleeping
07:15-07:30 Sleeping
07:30-07:45 Sleeping
07:45-08:00 Sleeping
08:00-08:15 Sleeping
08:15-08:30 Sleeping
08:30-08:45 Sleeping
08:45-09:00 Sleeping
09:00-09:15 Sleeping
09:15-09:30 Sleeping
09:30-09:45 Sleeping
09:45-10:00 Sleeping
10:00-10:15 Sleeping
10:15-10:30 Sleeping
10:30-10:45 Sleeping
10:45-11:00 Eating and drinking
11:00-11:15 Sleeping
11:15-11:30 Sleeping
11:30-11:45 Computer use for leisure (exc. Games)
11:45-12:00 Shopping, except groceries, food and gas
12:00-12:15 Eating and drinking
12:15-12:30 Eating and drinking
12:30-12:45 Eating and drinking
12:45-13:00 Shopping, except groceries, food and gas
13:00-13:15 Taking class for degree, certification, or licensure
13:15-13:30 Taking class for degree, certification, or licensure
13:30-13:45 Taking class for degree, certification, or licensure
13:45-14:00 Television and movies (not religious)
14:00-14:15 Television and movies (not religious)
14:15-14:30 Television and movies (not religious)
14:30-14:45 Television and movies (not religious)
14:45-15:00 Television and movies (not religious)
15:00-15:15 Television and movies (not religious)
15:15-15:30 Television and movies (not religious)
15:30-15:45 Television and movies (not religious)
15:45-16:00 Television and movies (not religious)
16:00-16:15 Television and movies (not religious)
16:15-16:30 Socializing and communicating with others
16:30-16:45 Socializing and communicating with others
16:45-17:00 Socializing and communicating with others
17:00-17:15 Television and movies (not religious)
17:15-17:30 Television and movies (not religious)
17:30-17:45 Eating and drinking
17:45-18:00 Socializing and communicating with others
18:00-18:15 Television and movies (not religious)
18:15-18:30 Socializing and communicating with others
18:30-18:45 Eating and drinking
18:45-19:00 Television and movies (not religious)
19:00-19:15 Eating and drinking
19:15-19:30 Eating and drinking
19:30-19:45 Television and movies (not religious)
19:45-20:00 Television and movies (not religious)
20:00-20:15 Television and movies (not religious)
20:15-20:30 Television and movies (not religious)
20:30-20:45 Television and movies (not religious)
20:45-21:00 Television and movies (not religious)
21:00-21:15 Television and movies (not religious)
21:15-21:30 Television and movies (not religious)
21:30-21:45 Television and movies (not religious)
21:45-22:00 Television and movies (not religious)
22:00-22:15 Television and movies (not religious)
22:15-22:30 Television and movies (not religious)
22:30-22:45 Television and movies (not religious)
22:45-23:00 Television and movies (not religious)
23:00-23:15 Television and movies (not religious)
23:15-23:30 Computer use for leisure (exc. Games)
23:30-23:45 Computer use for leisure (exc. Games)
23:45-24:00 Computer use for leisure (exc. Games)

One of the issues with this is that it does not account for the true variability in activities that are occuring within a day. As such, we might want to generate a list of all the activities that this persona is likely to do in the day. To do this we can create a list of all these activities and generate data on the median start and stop time for these activities. Additionally, let’s restrict this to only the activities that at least 20 percent of the individuals took part in during their day.

# Function to convert "HH:MM:SS" to total seconds
time_to_seconds <- function(time_str) {
  sapply(strsplit(time_str, ":"), function(x) {
    sum(as.numeric(x) * c(3600, 60, 1))
  })
}

# Function to convert total seconds back to "HH:MM:SS" format
seconds_to_time <- function(seconds) {
  sprintf("%02d:%02d:%02d", 
          seconds %/% 3600, 
          (seconds %% 3600) %/% 60, 
          seconds %% 60)
}

common_activities <- persona %>%
  filter(START != "04:00:00") %>%
  group_by(ACTIVITY) %>%
  summarise(
    count = n(),
    MEDIAN_START = median(time_to_seconds(START)),
    MEDIAN_STOP = median(time_to_seconds(STOP)),
    FOCUS = list(unique(FOCUS))
  ) %>%
  ungroup() %>%
  mutate(
    MEDIAN_START = seconds_to_time(MEDIAN_START),
    MEDIAN_STOP = seconds_to_time(MEDIAN_STOP)
  ) %>%
  filter(count > length(unique(persona$CASEID))*0.2)

common_activities <- common_activities %>%
  gt() %>%
  tab_header(
    title = "Common Activities Overview"
  ) %>%
  cols_label(
    ACTIVITY = "Activity",
    count = "Count",
    MEDIAN_START = "Median Start Time",
    MEDIAN_STOP = "Median Stop Time",
    FOCUS = "Focus"
  ) %>%
  fmt_number(
    columns = vars(count),
    decimals = 0
  ) %>%
  tab_options(
    table.font.size = "small",
    heading.align = "center"
  ) %>%
  cols_width(
    ACTIVITY ~ px(250), # Adjust the column width for clarity
    MEDIAN_START ~ px(150),
    MEDIAN_STOP ~ px(150),
    count ~ px(100),
    FOCUS ~ px(200)
  )
## Warning: Since gt v0.3.0, `columns = vars(...)` has been deprecated.
## • Please use `columns = c(...)` instead.
## Since gt v0.3.0, `columns = vars(...)` has been deprecated.
## • Please use `columns = c(...)` instead.
# Render the table in R Markdown (HTML format)
common_activities
Common Activities Overview
Activity Count Median Start Time Median Stop Time Focus
Computer use for leisure (exc. Games) 13 16:00:00 14:00:00 None, Sustain
Eating and drinking 54 14:50:00 15:20:00 Sustain, None, Develop
Food and drink preparation 19 16:00:00 16:45:00 Sustain, Enable
Household & personal organization and planning 6 15:05:00 15:15:00 Enable
Insufficient detail in verbatim 8 13:48:00 15:48:00 None, Develop, Sustain
Interior cleaning 7 12:45:00 15:00:00 Enable, Sustain, Develop
Kitchen and food clean-up 7 11:40:00 12:20:00 Enable, Sustain, Develop
Listening to/playing music (not radio) 9 19:20:00 20:20:00 None, Sustain
Playing games 11 16:35:00 17:05:00 None, Sustain, Develop
Research/homework for class for degree, certification, or licensure 9 18:30:00 19:30:00 None, Sustain
Shopping, except groceries, food and gas 17 14:05:00 14:35:00 Enable, Sustain
Sleeping 34 21:40:00 08:15:00 None
Socializing and communicating with others 26 16:22:30 16:57:30 None, Sustain
Taking class for degree, certification, or licensure 8 11:10:00 12:52:30 None
Television and movies (not religious) 43 18:05:00 19:42:00 Sustain, None, Develop
Travel related to eating and drinking 12 16:10:30 16:20:00 Develop, Sustain, None
Travel related to hh children's education 7 14:50:00 15:10:00 None
Travel related to shopping, ex groceries, food, and gas 26 14:25:00 14:52:30 None, Sustain
Travel related to socializing and communicating 6 15:42:30 15:52:30 Develop, None, Sustain
Travel related to taking class 6 12:02:30 12:22:30 None, Sustain
Traveling, n.e.c.* 9 14:35:00 15:01:00 None
Walking / exercising / playing with animals 6 18:30:00 18:35:00 None, Sustain, Develop
Washing, dressing and grooming oneself 48 11:15:00 11:47:30 None, Develop
NA 22 15:25:00 15:31:30 None, Sustain

The main issue that this has is for activities that might occur sporadically throughout the day, such as eating and drinking, the median time data is not useful. For example a person might eat in the morning, around noon, and in the evening, aggregating this data by median time leads to a conclusion that eating only occurs in the early afternoon, which is not accurate. Thus lets change this and look at the common activities that are occuring within each hour.

# Create a function to identify the hour interval
get_hour_interval <- function(start, stop) {
  # Convert "HH:MM:SS" to seconds
  start_sec <- time_to_seconds(start)
  stop_sec <- time_to_seconds(stop)
  
  # Get all hours that overlap with the activity
  hours <- (start_sec %/% 3600):(stop_sec %/% 3600)
  return(paste0(sprintf("%02d:00:00", hours), "-", sprintf("%02d:59:59", hours)))
}

# Expand the data to one row per hour interval
persona_hourly <- persona %>%
  mutate(hour_intervals = purrr::map2(START, STOP, get_hour_interval)) %>%
  tidyr::unnest(hour_intervals)

# Group by hour interval and activity
common_activities_hourly <- persona_hourly %>%
  filter(START != "04:00:00") %>%
  group_by(hour_intervals, ACTIVITY) %>%
  summarise(
    count = n(),
    MEDIAN_START = median(time_to_seconds(START)),
    MEDIAN_STOP = median(time_to_seconds(STOP)),
    FOCUS = list(unique(FOCUS)),
    .groups = "drop"
  ) %>%
  ungroup() %>%
  mutate(
    MEDIAN_START = seconds_to_time(MEDIAN_START),
    MEDIAN_STOP = seconds_to_time(MEDIAN_STOP)
  ) %>%
  filter(count > length(unique(persona$CASEID)) * 0.1)

common_activities_hourly <- common_activities_hourly %>%
  gt() %>%
  tab_header(
    title = "Hourly Activity Summary"
  ) %>%
  cols_label(
    hour_intervals = "Hour Intervals",
    ACTIVITY = "Activity",
    count = "Count",
    MEDIAN_START = "Median Start Time",
    MEDIAN_STOP = "Median Stop Time",
    FOCUS = "Focus"
  ) %>%
  fmt_number(
    columns = vars(count),
    decimals = 0
  ) %>%
  tab_options(
    table.font.size = "small",
    heading.align = "center"
  ) %>%
  cols_width(
    hour_intervals ~ px(150),
    ACTIVITY ~ px(250),
    count ~ px(100),
    MEDIAN_START ~ px(150),
    MEDIAN_STOP ~ px(150),
    FOCUS ~ px(200)
  )
## Warning: Since gt v0.3.0, `columns = vars(...)` has been deprecated.
## • Please use `columns = c(...)` instead.
## Since gt v0.3.0, `columns = vars(...)` has been deprecated.
## • Please use `columns = c(...)` instead.
# Render the table in R Markdown (HTML format)
common_activities_hourly
Hourly Activity Summary
Hour Intervals Activity Count Median Start Time Median Stop Time Focus
00:00:00-00:59:59 Sleeping 3 00:17:00 06:00:00 None
00:00:00-00:59:59 Washing, dressing and grooming oneself 3 00:45:00 00:30:00 None
01:00:00-01:59:59 Sleeping 6 00:55:00 08:30:00 None
01:00:00-01:59:59 Washing, dressing and grooming oneself 3 01:05:00 01:15:00 None
02:00:00-02:59:59 Sleeping 7 01:20:00 08:30:00 None
03:00:00-03:59:59 Sleeping 7 01:20:00 08:30:00 None
04:00:00-04:59:59 Sleeping 7 01:20:00 08:30:00 None
05:00:00-05:59:59 Sleeping 7 01:20:00 08:30:00 None
06:00:00-06:59:59 Sleeping 12 04:07:30 06:26:00 None
06:00:00-06:59:59 Washing, dressing and grooming oneself 3 06:00:00 06:30:00 None
07:00:00-07:59:59 Eating and drinking 3 07:30:00 07:35:00 None, Develop
07:00:00-07:59:59 Sleeping 15 22:00:00 07:15:00 None
07:00:00-07:59:59 Taking class for degree, certification, or licensure 3 07:55:00 10:30:00 None
07:00:00-07:59:59 Washing, dressing and grooming oneself 7 07:10:00 07:30:00 Develop, None
08:00:00-08:59:59 Computer use for leisure (exc. Games) 3 08:40:00 08:35:00 None, Sustain
08:00:00-08:59:59 Eating and drinking 3 08:10:00 08:20:00 None, Develop
08:00:00-08:59:59 Sleeping 18 22:00:00 07:42:30 None
08:00:00-08:59:59 Taking class for degree, certification, or licensure 3 07:55:00 10:30:00 None
08:00:00-08:59:59 Television and movies (not religious) 3 08:35:00 09:35:00 Develop, None, Sustain
08:00:00-08:59:59 Traveling, n.e.c.* 4 08:05:00 08:15:00 None
08:00:00-08:59:59 Washing, dressing and grooming oneself 5 07:30:00 08:10:00 Develop, None
09:00:00-09:59:59 Computer use for leisure (exc. Games) 4 09:47:30 10:25:00 None, Sustain
09:00:00-09:59:59 Eating and drinking 5 09:32:00 09:42:00 None, Sustain
09:00:00-09:59:59 Food and drink preparation 3 09:20:00 10:00:00 Enable, Sustain
09:00:00-09:59:59 Sleeping 20 22:02:30 07:57:30 None
09:00:00-09:59:59 Taking class for degree, certification, or licensure 3 07:55:00 10:30:00 None
09:00:00-09:59:59 Television and movies (not religious) 3 08:35:00 09:35:00 Develop, None, Sustain
09:00:00-09:59:59 Washing, dressing and grooming oneself 7 09:30:00 09:40:00 None
10:00:00-10:59:59 Computer use for leisure (exc. Games) 4 09:47:30 10:25:00 None, Sustain
10:00:00-10:59:59 Eating and drinking 7 10:30:00 10:45:00 None, Sustain
10:00:00-10:59:59 Food and drink preparation 4 10:02:30 10:47:30 Sustain, Enable
10:00:00-10:59:59 Sleeping 21 22:00:00 08:00:00 None
10:00:00-10:59:59 Taking class for degree, certification, or licensure 4 07:55:00 10:58:00 None
10:00:00-10:59:59 Television and movies (not religious) 3 10:02:00 11:00:00 Develop, None
10:00:00-10:59:59 Washing, dressing and grooming oneself 8 10:02:30 10:40:00 None
11:00:00-11:59:59 Computer use for leisure (exc. Games) 4 11:16:00 11:45:00 None, Sustain
11:00:00-11:59:59 Eating and drinking 5 10:45:00 11:15:00 None
11:00:00-11:59:59 Playing games 3 11:35:00 12:00:00 None
11:00:00-11:59:59 Research/homework for class for degree, certification, or licensure 3 11:26:00 11:51:00 None
11:00:00-11:59:59 Shopping, except groceries, food and gas 4 11:45:00 12:02:30 Enable, Sustain
11:00:00-11:59:59 Sleeping 20 22:02:30 07:57:30 None
11:00:00-11:59:59 Socializing and communicating with others 3 11:00:00 11:30:00 None
11:00:00-11:59:59 Taking class for degree, certification, or licensure 3 10:50:00 12:05:00 None
11:00:00-11:59:59 Television and movies (not religious) 3 10:02:00 11:00:00 Develop, None
11:00:00-11:59:59 Travel related to shopping, ex groceries, food, and gas 5 11:30:00 11:50:00 Sustain, None
11:00:00-11:59:59 Washing, dressing and grooming oneself 6 10:52:30 11:30:00 None
11:00:00-11:59:59 NA 3 11:00:00 11:20:00 None, Sustain
12:00:00-12:59:59 Computer use for leisure (exc. Games) 3 11:32:00 12:00:00 None, Sustain
12:00:00-12:59:59 Eating and drinking 7 12:00:00 12:30:00 None
12:00:00-12:59:59 Playing games 3 11:35:00 12:00:00 None
12:00:00-12:59:59 Shopping, except groceries, food and gas 4 12:15:00 12:47:30 Enable, Sustain
12:00:00-12:59:59 Sleeping 21 22:05:00 08:00:00 None
12:00:00-12:59:59 Taking class for degree, certification, or licensure 4 11:57:30 14:15:00 None
12:00:00-12:59:59 Television and movies (not religious) 4 12:10:00 13:55:00 Develop, None
12:00:00-12:59:59 Travel related to shopping, ex groceries, food, and gas 4 12:37:30 12:45:00 None
12:00:00-12:59:59 Washing, dressing and grooming oneself 3 12:30:00 12:00:00 None
13:00:00-13:59:59 Sleeping 21 22:05:00 08:00:00 None
13:00:00-13:59:59 Taking class for degree, certification, or licensure 3 12:25:00 14:50:00 None
13:00:00-13:59:59 Television and movies (not religious) 5 12:20:00 14:20:00 Develop, None
13:00:00-13:59:59 Washing, dressing and grooming oneself 3 13:00:00 13:30:00 None
14:00:00-14:59:59 Playing games 3 14:20:00 14:35:00 None
14:00:00-14:59:59 Sleeping 22 22:02:30 08:00:00 None
14:00:00-14:59:59 Television and movies (not religious) 9 14:10:00 15:15:00 None, Develop, Sustain
14:00:00-14:59:59 Travel related to shopping, ex groceries, food, and gas 4 14:07:30 14:22:30 Sustain, None
14:00:00-14:59:59 NA 5 14:30:00 14:35:00 None
15:00:00-15:59:59 Eating and drinking 5 15:15:00 15:40:00 Develop, None, Sustain
15:00:00-15:59:59 Sleeping 24 22:00:00 08:00:00 None
15:00:00-15:59:59 Socializing and communicating with others 4 15:10:00 15:47:30 None
15:00:00-15:59:59 Television and movies (not religious) 10 14:32:30 15:55:00 None, Develop, Sustain
15:00:00-15:59:59 Travel related to eating and drinking 3 15:25:00 15:30:00 Develop, None
15:00:00-15:59:59 Travel related to hh children's education 3 14:50:00 15:10:00 None
15:00:00-15:59:59 Travel related to shopping, ex groceries, food, and gas 3 15:25:00 15:55:00 None
15:00:00-15:59:59 Traveling, n.e.c.* 4 15:04:00 15:11:30 None
16:00:00-16:59:59 Computer use for leisure (exc. Games) 3 16:05:00 17:00:00 None
16:00:00-16:59:59 Eating and drinking 4 16:20:00 17:00:00 Develop, None
16:00:00-16:59:59 Food and drink preparation 3 16:30:00 17:15:00 Sustain
16:00:00-16:59:59 Playing games 3 16:35:00 17:05:00 None, Sustain
16:00:00-16:59:59 Reading for personal interest 4 16:37:30 18:15:00 None
16:00:00-16:59:59 Shopping, except groceries, food and gas 3 16:00:00 16:20:00 Enable
16:00:00-16:59:59 Sleeping 24 22:00:00 08:00:00 None
16:00:00-16:59:59 Socializing and communicating with others 6 16:13:00 16:52:30 Sustain, None
16:00:00-16:59:59 Television and movies (not religious) 7 15:00:00 16:10:00 None, Sustain
16:00:00-16:59:59 Travel related to eating and drinking 5 16:10:00 16:15:00 Develop, None
16:00:00-16:59:59 Travel related to shopping, ex groceries, food, and gas 3 16:20:00 16:35:00 None
16:00:00-16:59:59 NA 3 16:04:00 16:06:00 None
17:00:00-17:59:59 Computer use for leisure (exc. Games) 3 16:05:00 17:00:00 None
17:00:00-17:59:59 Eating and drinking 7 17:00:00 17:47:00 None, Sustain
17:00:00-17:59:59 Food and drink preparation 4 16:57:30 17:16:00 Sustain, Enable
17:00:00-17:59:59 Playing games 3 16:35:00 17:05:00 None, Sustain
17:00:00-17:59:59 Reading for personal interest 4 16:37:30 18:15:00 None
17:00:00-17:59:59 Shopping, except groceries, food and gas 3 17:15:00 17:45:00 Enable, Sustain
17:00:00-17:59:59 Sleeping 22 22:02:30 08:00:00 None
17:00:00-17:59:59 Socializing and communicating with others 6 17:22:30 18:12:30 Sustain, None
17:00:00-17:59:59 Television and movies (not religious) 8 17:07:30 18:02:30 None, Sustain, Develop
17:00:00-17:59:59 Travel related to shopping, ex groceries, food, and gas 5 17:35:00 17:50:00 None
17:00:00-17:59:59 Washing, dressing and grooming oneself 3 17:50:00 17:07:00 None
18:00:00-18:59:59 Eating and drinking 6 17:47:30 18:30:00 None, Sustain
18:00:00-18:59:59 Food and drink preparation 3 18:30:00 19:00:00 Sustain, Enable
18:00:00-18:59:59 Reading for personal interest 4 16:37:30 18:15:00 None
18:00:00-18:59:59 Sleeping 21 22:05:00 08:00:00 None
18:00:00-18:59:59 Socializing and communicating with others 8 17:45:00 18:33:30 None, Sustain
18:00:00-18:59:59 Television and movies (not religious) 7 17:10:00 19:05:00 None, Develop, Sustain
18:00:00-18:59:59 Walking / exercising / playing with animals 4 18:30:00 18:35:00 None, Sustain
18:00:00-18:59:59 Washing, dressing and grooming oneself 4 18:17:30 18:22:30 None, Develop
18:00:00-18:59:59 NA 5 18:05:00 18:20:00 Sustain, None
19:00:00-19:59:59 Eating and drinking 6 19:00:00 19:45:00 Sustain, None
19:00:00-19:59:59 Listening to/playing music (not radio) 6 19:27:30 20:25:00 None, Sustain
19:00:00-19:59:59 Playing games 4 19:40:00 19:52:30 Sustain, Develop, None
19:00:00-19:59:59 Sleeping 20 22:10:00 08:00:00 None
19:00:00-19:59:59 Socializing and communicating with others 5 18:45:00 19:30:00 None
19:00:00-19:59:59 Television and movies (not religious) 12 19:26:00 20:43:30 None, Develop
20:00:00-20:59:59 Eating and drinking 7 20:00:00 20:25:00 None, Sustain
20:00:00-20:59:59 Listening to/playing music (not radio) 6 19:27:30 20:25:00 None, Sustain
20:00:00-20:59:59 Physical care for hh children 4 20:35:00 20:42:30 Develop
20:00:00-20:59:59 Playing games 3 19:45:00 20:45:00 Sustain, Develop, None
20:00:00-20:59:59 Sleeping 20 22:10:00 08:00:00 None
20:00:00-20:59:59 Television and movies (not religious) 16 19:52:30 21:30:00 None
20:00:00-20:59:59 Washing, dressing and grooming oneself 6 20:42:00 20:41:00 Develop, None
21:00:00-21:59:59 Eating and drinking 4 20:45:00 21:10:00 Sustain, None
21:00:00-21:59:59 Sleeping 19 22:15:00 08:00:00 None
21:00:00-21:59:59 Television and movies (not religious) 16 20:12:30 21:50:00 None, Sustain
21:00:00-21:59:59 Washing, dressing and grooming oneself 9 21:30:00 21:45:00 None, Develop
22:00:00-22:59:59 Computer use for leisure (exc. Games) 5 22:40:00 22:50:00 None
22:00:00-22:59:59 Eating and drinking 3 22:00:00 22:30:00 None
22:00:00-22:59:59 Sleeping 14 22:47:30 07:42:30 None
22:00:00-22:59:59 Television and movies (not religious) 11 20:45:00 22:30:00 Sustain, None
22:00:00-22:59:59 Washing, dressing and grooming oneself 5 21:46:00 22:00:00 None, Develop
23:00:00-23:59:59 Sleeping 6 23:15:00 08:12:30 None
23:00:00-23:59:59 Television and movies (not religious) 3 22:00:00 23:00:00 Sustain, None
23:00:00-23:59:59 Washing, dressing and grooming oneself 3 23:15:00 23:25:00 None
persona_4 <- common_activities_hourly

Persona 5

The fifth persona that we care about is someone who is in a ralationship with a disabled family member. The way we identify disabled spouse is throug ht question asking for the spouse employment catagory. This question has an answer for spouse is Disabled. We thus look for people who have a disabled and not working spouse through this method.

persona <- atus %>% filter(empstat == "Employed" & nchild > 0 & marst == "Married" & SPEMPSTAT == 5)

persona <- persona %>%
  mutate(
    FOCUS = ifelse(SCC_ALL_LN > 0, "Develop", FOCUS),
    DURATION = ifelse(SCC_ALL_LN > 0, SCC_ALL_LN, DURATION)
  )

persona <- persona %>%
  mutate(
    FOCUS = ifelse(SEC_ALL_LN > 0, "Sustain", FOCUS),
    DURATION = ifelse(SEC_ALL_LN > 0, SEC_ALL_LN, DURATION)
  )

persona <- persona %>%
  group_by(CASEID) %>%
  filter(any(SEC_ALL_LN > 0)) %>%
  ungroup()

Let’s start by looking at some statistics about this persona that we might be interested in. For instance, the most important statistic we might want to consider is how much time this individual spends on different care focuses. The table below shows the average amount of time this persona spends on the various care focuses. One thing to note is that is they are spending time on secondary chilid care, we consider that to be development care, and if they are spending time on secondary adult care, we consider that to be part of sustain care.

temp <- persona %>%
  group_by(CASEID,FOCUS) %>%
  summarise(time = sum(DURATION))
## `summarise()` has grouped output by 'CASEID'. You can override using the
## `.groups` argument.
mean_hours <- temp %>%
  group_by(FOCUS) %>%
  summarise(hours = median(time/60))

mean_hours <- mean_hours %>%
  gt() %>%
  tab_header(
    title = "Mean Hours by Focus"
  ) %>%
  fmt_number(
    columns = vars(hours),
    decimals = 2
  ) %>%
  cols_label(
    FOCUS = "Focus",
    hours = "Mean Hours"
  ) %>%
  tab_options(
    table.font.size = "small",
    heading.align = "center"
  )
## Warning: Since gt v0.3.0, `columns = vars(...)` has been deprecated.
## • Please use `columns = c(...)` instead.
## Since gt v0.3.0, `columns = vars(...)` has been deprecated.
## • Please use `columns = c(...)` instead.
mean_hours
Mean Hours by Focus
Focus Mean Hours
Develop 5.89
Enable 3.33
None 15.55
Sustain 1.25

This simple distribution of time acitivites is useful for us to construct a very general idea of what a person’s day looks like.

Using this we now want to build out what the average Day looks like for a person in this category. To do this we’re going to look at for each 1 hour period what the most common activity taking place is and if any secondary activity is happening. We’re then going to simplify these activities into general categories.

# Function to get the most common activity for a given time range
get_most_common_activity <- function(start_time, end_time, data) {
  data %>%
    filter(START < sprintf("%02d:%02d:00", end_time %/% 1, (end_time %% 1) * 60) & 
             STOP >= sprintf("%02d:%02d:00", start_time %/% 1, (start_time %% 1) * 60)) %>%
    count(ACTIVITY) %>%
    arrange(desc(n)) %>%
    slice(1) %>%
    pull(ACTIVITY)
}

# Create a sequence of quarter-hour intervals
quarter_hours <- seq(0, 24, by = 0.25) # 0.25 represents 15 minutes (1/4 hour)

# Calculate the most common activity for each quarter-hour
results <- tibble(
  QuarterHour = paste0(sprintf("%02d:%02d", quarter_hours[-length(quarter_hours)] %/% 1, 
                               (quarter_hours[-length(quarter_hours)] %% 1) * 60), 
                       "-", 
                       sprintf("%02d:%02d", quarter_hours[-1] %/% 1, 
                               (quarter_hours[-1] %% 1) * 60)),
  Activity = sapply(1:(length(quarter_hours) - 1), function(i) {
    get_most_common_activity(quarter_hours[i], quarter_hours[i + 1], persona)
  })
)

results <- results %>%
  gt() %>%
  tab_header(
    title = "Activity by Quarter Hour"
  ) %>%
  cols_label(
    QuarterHour = "Quarter Hour",
    Activity = "Activity"
  ) %>%
  tab_options(
    table.font.size = "small",
    heading.align = "center"
  )

# Display the results
results
Activity by Quarter Hour
Quarter Hour Activity
00:00-00:15 Sleeping
00:15-00:30 Sleeping
00:30-00:45 Sleeping
00:45-01:00 Sleeping
01:00-01:15 Sleeping
01:15-01:30 Sleeping
01:30-01:45 Sleeping
01:45-02:00 Sleeping
02:00-02:15 Sleeping
02:15-02:30 Sleeping
02:30-02:45 Sleeping
02:45-03:00 Sleeping
03:00-03:15 Sleeping
03:15-03:30 Sleeping
03:30-03:45 Sleeping
03:45-04:00 Sleeping
04:00-04:15 Sleeping
04:15-04:30 Sleeping
04:30-04:45 Sleeping
04:45-05:00 Sleeping
05:00-05:15 Sleeping
05:15-05:30 Sleeping
05:30-05:45 Sleeping
05:45-06:00 Sleeping
06:00-06:15 Sleeping
06:15-06:30 Sleeping
06:30-06:45 Sleeping
06:45-07:00 Sleeping
07:00-07:15 Sleeping
07:15-07:30 Sleeping
07:30-07:45 Sleeping
07:45-08:00 Sleeping
08:00-08:15 Sleeping
08:15-08:30 Sleeping
08:30-08:45 Sleeping
08:45-09:00 Work, main job
09:00-09:15 Television and movies (not religious)
09:15-09:30 Television and movies (not religious)
09:30-09:45 Television and movies (not religious)
09:45-10:00 Television and movies (not religious)
10:00-10:15 Television and movies (not religious)
10:15-10:30 Interior cleaning
10:30-10:45 Interior cleaning
10:45-11:00 Interior cleaning
11:00-11:15 Work, main job
11:15-11:30 Work, main job
11:30-11:45 Work, main job
11:45-12:00 Work, main job
12:00-12:15 Eating and drinking
12:15-12:30 Eating and drinking
12:30-12:45 Eating and drinking
12:45-13:00 Travel related to purchasing food (not groceries)
13:00-13:15 Work, main job
13:15-13:30 Work, main job
13:30-13:45 Food and drink preparation
13:45-14:00 Food and drink preparation
14:00-14:15 Food and drink preparation
14:15-14:30 Work, main job
14:30-14:45 Vehicle repair and maintenance (by self)
14:45-15:00 Work, main job
15:00-15:15 Work, main job
15:15-15:30 Work, main job
15:30-15:45 Work, main job
15:45-16:00 Work, main job
16:00-16:15 Laundry
16:15-16:30 Eating and drinking
16:30-16:45 Eating and drinking
16:45-17:00 Food and drink preparation
17:00-17:15 Eating and drinking
17:15-17:30 Eating and drinking
17:30-17:45 Food and drink preparation
17:45-18:00 Socializing and communicating with others
18:00-18:15 Socializing and communicating with others
18:15-18:30 Eating and drinking
18:30-18:45 Eating and drinking
18:45-19:00 Eating and drinking
19:00-19:15 Television and movies (not religious)
19:15-19:30 Television and movies (not religious)
19:30-19:45 Television and movies (not religious)
19:45-20:00 Television and movies (not religious)
20:00-20:15 Television and movies (not religious)
20:15-20:30 Laundry
20:30-20:45 Television and movies (not religious)
20:45-21:00 Television and movies (not religious)
21:00-21:15 Television and movies (not religious)
21:15-21:30 Television and movies (not religious)
21:30-21:45 Television and movies (not religious)
21:45-22:00 Television and movies (not religious)
22:00-22:15 Television and movies (not religious)
22:15-22:30 Listening to/playing music (not radio)
22:30-22:45 Eating and drinking
22:45-23:00 Eating and drinking
23:00-23:15 Eating and drinking
23:15-23:30 Health-related self care
23:30-23:45 Participation in religious practices
23:45-24:00 Participation in religious practices

One of the issues with this is that it does not account for the true variability in activities that are occuring within a day. As such, we might want to generate a list of all the activities that this persona is likely to do in the day. To do this we can create a list of all these activities and generate data on the median start and stop time for these activities. Additionally, let’s restrict this to only the activities that at least 20 percent of the individuals took part in during their day.

# Function to convert "HH:MM:SS" to total seconds
time_to_seconds <- function(time_str) {
  sapply(strsplit(time_str, ":"), function(x) {
    sum(as.numeric(x) * c(3600, 60, 1))
  })
}

# Function to convert total seconds back to "HH:MM:SS" format
seconds_to_time <- function(seconds) {
  sprintf("%02d:%02d:%02d", 
          seconds %/% 3600, 
          (seconds %% 3600) %/% 60, 
          seconds %% 60)
}

common_activities <- persona %>%
  filter(START != "04:00:00") %>%
  group_by(ACTIVITY) %>%
  summarise(
    count = n(),
    MEDIAN_START = median(time_to_seconds(START)),
    MEDIAN_STOP = median(time_to_seconds(STOP)),
    FOCUS = list(unique(FOCUS))
  ) %>%
  ungroup() %>%
  mutate(
    MEDIAN_START = seconds_to_time(MEDIAN_START),
    MEDIAN_STOP = seconds_to_time(MEDIAN_STOP)
  ) %>%
  filter(count > length(unique(persona$CASEID))*0.2)

common_activities <- common_activities %>%
  gt() %>%
  tab_header(
    title = "Common Activities Overview"
  ) %>%
  cols_label(
    ACTIVITY = "Activity",
    count = "Count",
    MEDIAN_START = "Median Start Time",
    MEDIAN_STOP = "Median Stop Time",
    FOCUS = "Focus"
  ) %>%
  fmt_number(
    columns = vars(count),
    decimals = 0
  ) %>%
  tab_options(
    table.font.size = "small",
    heading.align = "center"
  ) %>%
  cols_width(
    ACTIVITY ~ px(250), # Adjust the column width for clarity
    MEDIAN_START ~ px(150),
    MEDIAN_STOP ~ px(150),
    count ~ px(100),
    FOCUS ~ px(200)
  )
## Warning: Since gt v0.3.0, `columns = vars(...)` has been deprecated.
## • Please use `columns = c(...)` instead.
## Since gt v0.3.0, `columns = vars(...)` has been deprecated.
## • Please use `columns = c(...)` instead.
# Render the table in R Markdown (HTML format)
common_activities
Common Activities Overview
Activity Count Median Start Time Median Stop Time Focus
Computer use for leisure (exc. Games) 2 19:15:00 20:45:00 None
Eating and drinking 16 15:09:30 15:59:30 None, Develop, Sustain
Food and drink preparation 11 15:20:00 16:20:00 Sustain, Enable, Develop
Grocery shopping 3 08:30:00 08:35:00 Enable
Insufficient detail in verbatim 4 11:52:00 12:08:00 Develop, Sustain
Interior arrangement, decoration, & repairs 2 20:05:00 10:20:00 Enable
Interior cleaning 5 10:15:00 12:00:00 Enable, Sustain
Kitchen and food clean-up 5 15:20:00 16:30:00 Sustain, Enable, Develop
Laundry 7 16:00:00 17:15:00 Sustain, Develop, Enable
Physical care for hh adults 2 14:07:30 14:08:30 Sustain
Physical care for hh children 8 18:50:00 19:25:00 Develop, Sustain
Picking up/dropping off hh children 3 10:55:00 10:57:00 Develop
Playing with hh children, not sports 2 15:23:00 18:08:00 Develop
Relaxing, thinking 4 14:40:00 15:00:00 None, Sustain
Sleeping 11 20:40:00 07:00:00 None
Socializing and communicating with others 11 16:40:00 16:50:00 None, Develop, Sustain
Television and movies (not religious) 10 17:24:30 18:47:00 None, Develop, Sustain
Travel related to attending or hosting social events 2 13:08:30 13:22:30 Develop
Travel related to grocery shopping 6 08:27:30 08:31:00 None
Travel related to hh children's education 4 12:59:30 13:12:00 None
Travel related to nonhh children's education 2 07:45:00 08:15:00 None
Travel related to purchasing food (not groceries) 2 12:27:30 12:52:30 None
Travel related to shopping, ex groceries, food, and gas 2 12:54:00 13:09:00 None
Travel related to socializing and communicating 9 16:30:00 16:40:00 None
Travel related to working 6 13:45:30 14:08:00 None
Vehicle repair and maintenance (by self) 3 14:40:00 15:40:00 Enable
Washing, dressing and grooming oneself 10 10:45:00 07:37:30 None
Work, main job 9 11:01:00 12:14:00 Develop, None

The main issue that this has is for activities that might occur sporadically throughout the day, such as eating and drinking, the median time data is not useful. For example a person might eat in the morning, around noon, and in the evening, aggregating this data by median time leads to a conclusion that eating only occurs in the early afternoon, which is not accurate. Thus lets change this and look at the common activities that are occuring within each hour.

# Create a function to identify the hour interval
get_hour_interval <- function(start, stop) {
  # Convert "HH:MM:SS" to seconds
  start_sec <- time_to_seconds(start)
  stop_sec <- time_to_seconds(stop)
  
  # Get all hours that overlap with the activity
  hours <- (start_sec %/% 3600):(stop_sec %/% 3600)
  return(paste0(sprintf("%02d:00:00", hours), "-", sprintf("%02d:59:59", hours)))
}

# Expand the data to one row per hour interval
persona_hourly <- persona %>%
  mutate(hour_intervals = purrr::map2(START, STOP, get_hour_interval)) %>%
  tidyr::unnest(hour_intervals)

# Group by hour interval and activity
common_activities_hourly <- persona_hourly %>%
  filter(START != "04:00:00") %>%
  group_by(hour_intervals, ACTIVITY) %>%
  summarise(
    count = n(),
    MEDIAN_START = median(time_to_seconds(START)),
    MEDIAN_STOP = median(time_to_seconds(STOP)),
    FOCUS = list(unique(FOCUS)),
    .groups = "drop"
  ) %>%
  ungroup() %>%
  mutate(
    MEDIAN_START = seconds_to_time(MEDIAN_START),
    MEDIAN_STOP = seconds_to_time(MEDIAN_STOP)
  ) %>%
  filter(count > length(unique(persona$CASEID)) * 0.1)

common_activities_hourly <- common_activities_hourly %>%
  gt() %>%
  tab_header(
    title = "Hourly Activity Summary"
  ) %>%
  cols_label(
    hour_intervals = "Hour Intervals",
    ACTIVITY = "Activity",
    count = "Count",
    MEDIAN_START = "Median Start Time",
    MEDIAN_STOP = "Median Stop Time",
    FOCUS = "Focus"
  ) %>%
  fmt_number(
    columns = vars(count),
    decimals = 0
  ) %>%
  tab_options(
    table.font.size = "small",
    heading.align = "center"
  ) %>%
  cols_width(
    hour_intervals ~ px(150),
    ACTIVITY ~ px(250),
    count ~ px(100),
    MEDIAN_START ~ px(150),
    MEDIAN_STOP ~ px(150),
    FOCUS ~ px(200)
  )
## Warning: Since gt v0.3.0, `columns = vars(...)` has been deprecated.
## • Please use `columns = c(...)` instead.
## Since gt v0.3.0, `columns = vars(...)` has been deprecated.
## • Please use `columns = c(...)` instead.
# Render the table in R Markdown (HTML format)
common_activities_hourly
Hourly Activity Summary
Hour Intervals Activity Count Median Start Time Median Stop Time Focus
00:00:00-00:59:59 Interior arrangement, decoration, & repairs 1 20:10:00 00:30:00 Enable
00:00:00-00:59:59 Sleeping 1 00:04:00 07:00:00 None
00:00:00-00:59:59 Socializing and communicating with others 1 00:30:00 01:00:00 None
00:00:00-00:59:59 Washing, dressing and grooming oneself 1 23:49:00 00:04:00 None
01:00:00-01:59:59 Interior arrangement, decoration, & repairs 1 20:10:00 00:30:00 Enable
01:00:00-01:59:59 Physical care for hh children 1 01:30:00 01:40:00 Develop
01:00:00-01:59:59 Sleeping 4 01:35:00 06:40:00 None
01:00:00-01:59:59 Socializing and communicating with others 1 00:30:00 01:00:00 None
01:00:00-01:59:59 Washing, dressing and grooming oneself 2 12:24:30 00:47:00 None
02:00:00-02:59:59 Interior arrangement, decoration, & repairs 1 20:10:00 00:30:00 Enable
02:00:00-02:59:59 Sleeping 4 01:35:00 06:40:00 None
02:00:00-02:59:59 Washing, dressing and grooming oneself 1 23:49:00 00:04:00 None
03:00:00-03:59:59 Interior arrangement, decoration, & repairs 1 20:10:00 00:30:00 Enable
03:00:00-03:59:59 Sleeping 4 01:35:00 06:40:00 None
03:00:00-03:59:59 Washing, dressing and grooming oneself 1 23:49:00 00:04:00 None
04:00:00-04:59:59 Interior arrangement, decoration, & repairs 1 20:10:00 00:30:00 Enable
04:00:00-04:59:59 Sleeping 6 11:10:00 05:25:00 None
04:00:00-04:59:59 Washing, dressing and grooming oneself 1 23:49:00 00:04:00 None
05:00:00-05:59:59 Interior arrangement, decoration, & repairs 1 20:10:00 00:30:00 Enable
05:00:00-05:59:59 Physical care for hh children 1 05:00:00 05:05:00 Develop
05:00:00-05:59:59 Sleeping 7 05:05:00 06:20:00 None
05:00:00-05:59:59 Washing, dressing and grooming oneself 1 23:49:00 00:04:00 None
06:00:00-06:59:59 Eating and drinking 1 06:00:00 06:30:00 None
06:00:00-06:59:59 Interior arrangement, decoration, & repairs 1 20:10:00 00:30:00 Enable
06:00:00-06:59:59 Interior cleaning 1 06:00:00 12:00:00 Sustain
06:00:00-06:59:59 Sleeping 8 12:52:30 06:25:00 None
06:00:00-06:59:59 Washing, dressing and grooming oneself 2 15:09:30 03:32:00 None
07:00:00-07:59:59 Dropping off/picking up nonhh children 1 07:55:00 08:05:00 Develop
07:00:00-07:59:59 Eating and drinking 1 07:18:00 07:33:00 Develop
07:00:00-07:59:59 Grocery shopping 1 07:55:00 08:15:00 Enable
07:00:00-07:59:59 Interior arrangement, decoration, & repairs 1 20:10:00 00:30:00 Enable
07:00:00-07:59:59 Interior cleaning 2 06:37:30 09:39:00 Enable, Sustain
07:00:00-07:59:59 Picking up/dropping off hh children 1 07:48:00 07:49:00 Develop
07:00:00-07:59:59 Sleeping 8 21:05:00 06:45:00 None
07:00:00-07:59:59 Travel related to grocery shopping 1 07:50:00 07:55:00 None
07:00:00-07:59:59 Travel related to hh children's education 1 07:33:00 07:48:00 None
07:00:00-07:59:59 Travel related to nonhh children's education 1 07:25:00 07:55:00 None
07:00:00-07:59:59 Travel related to working 2 07:24:30 07:44:30 None
07:00:00-07:59:59 Washing, dressing and grooming oneself 5 07:00:00 07:15:00 None
07:00:00-07:59:59 Work, main job 1 07:15:00 09:15:00 None
08:00:00-08:59:59 Dropping off/picking up nonhh children 1 07:55:00 08:05:00 Develop
08:00:00-08:59:59 Eating and drinking 2 08:42:00 09:02:00 None
08:00:00-08:59:59 Food and drink preparation 2 08:32:30 09:37:30 Enable, Sustain
08:00:00-08:59:59 Grocery shopping 3 08:30:00 08:35:00 Enable
08:00:00-08:59:59 Household & personal organization and planning 1 08:20:00 08:25:00 Enable
08:00:00-08:59:59 Interior arrangement, decoration, & repairs 1 20:10:00 00:30:00 Enable
08:00:00-08:59:59 Interior cleaning 1 06:00:00 12:00:00 Sustain
08:00:00-08:59:59 Physical care for hh children 1 08:00:00 08:30:00 Develop
08:00:00-08:59:59 Sleeping 8 21:30:00 06:45:00 None
08:00:00-08:59:59 Television and movies (not religious) 1 08:45:00 09:45:00 Develop
08:00:00-08:59:59 Travel related to grocery shopping 5 08:30:00 08:32:00 None
08:00:00-08:59:59 Travel related to nonhh children's education 1 08:05:00 08:35:00 None
08:00:00-08:59:59 Travel related to working 1 07:49:00 08:14:00 None
08:00:00-08:59:59 Washing, dressing and grooming oneself 1 23:49:00 00:04:00 None
08:00:00-08:59:59 Work, main job 3 08:14:00 09:15:00 Develop, None
09:00:00-09:59:59 Eating and drinking 2 08:42:00 09:02:00 None
09:00:00-09:59:59 Food and drink preparation 1 08:30:00 10:30:00 Enable
09:00:00-09:59:59 Interior arrangement, decoration, & repairs 1 20:10:00 00:30:00 Enable
09:00:00-09:59:59 Interior cleaning 1 06:00:00 12:00:00 Sustain
09:00:00-09:59:59 Relaxing, thinking 1 09:15:00 09:30:00 None
09:00:00-09:59:59 Sleeping 8 21:30:00 06:45:00 None
09:00:00-09:59:59 Socializing and communicating with others 1 09:48:00 10:48:00 None
09:00:00-09:59:59 Talking with/listening to hh children 1 09:00:00 10:00:00 Develop
09:00:00-09:59:59 Television and movies (not religious) 3 09:00:00 10:00:00 None, Develop
09:00:00-09:59:59 Travel related to socializing and communicating 1 09:45:00 09:48:00 None
09:00:00-09:59:59 Washing, dressing and grooming oneself 1 23:49:00 00:04:00 None
09:00:00-09:59:59 Work, main job 4 08:22:00 10:37:30 Develop, None
10:00:00-10:59:59 Food and drink preparation 1 08:30:00 10:30:00 Enable
10:00:00-10:59:59 Insufficient detail in verbatim 2 10:25:30 10:49:00 Develop
10:00:00-10:59:59 Interior arrangement, decoration, & repairs 1 20:10:00 00:30:00 Enable
10:00:00-10:59:59 Interior cleaning 3 10:15:00 12:00:00 Sustain, Enable
10:00:00-10:59:59 Laundry 1 10:00:00 10:15:00 Enable
10:00:00-10:59:59 Physical care for hh adults 1 10:30:00 10:31:00 Sustain
10:00:00-10:59:59 Picking up/dropping off hh children 1 10:55:00 10:57:00 Develop
10:00:00-10:59:59 Sleeping 7 21:30:00 06:30:00 None
10:00:00-10:59:59 Socializing and communicating with others 2 10:16:30 11:24:00 None, Sustain
10:00:00-10:59:59 Talking with/listening to hh children 1 09:00:00 10:00:00 Develop
10:00:00-10:59:59 Telephone calls to/from family members 1 10:57:00 11:12:00 Sustain
10:00:00-10:59:59 Television and movies (not religious) 2 09:02:00 11:15:00 None
10:00:00-10:59:59 Travel related to hh children's education 1 10:45:00 10:55:00 None
10:00:00-10:59:59 Travel related to socializing and communicating 2 10:24:00 10:48:00 None
10:00:00-10:59:59 Travel related to working 1 10:31:00 11:01:00 None
10:00:00-10:59:59 Washing, dressing and grooming oneself 1 23:49:00 00:04:00 None
10:00:00-10:59:59 Work, main job 2 08:52:00 12:07:00 None
11:00:00-11:59:59 Attending hh children's events 1 11:42:00 11:57:00 Develop
11:00:00-11:59:59 Food and drink preparation 1 11:00:00 12:00:00 Enable
11:00:00-11:59:59 Interior arrangement, decoration, & repairs 1 20:10:00 00:30:00 Enable
11:00:00-11:59:59 Interior cleaning 3 10:15:00 12:00:00 Sustain, Enable
11:00:00-11:59:59 Sleeping 7 21:30:00 06:30:00 None
11:00:00-11:59:59 Socializing and communicating with others 1 10:45:00 12:00:00 Sustain
11:00:00-11:59:59 Telephone calls to/from family members 1 10:57:00 11:12:00 Sustain
11:00:00-11:59:59 Television and movies (not religious) 1 09:04:00 12:30:00 None
11:00:00-11:59:59 Travel related to attending or hosting social events 1 11:57:00 12:20:00 Develop
11:00:00-11:59:59 Travel related to working 1 10:31:00 11:01:00 None
11:00:00-11:59:59 Washing, dressing and grooming oneself 1 23:49:00 00:04:00 None
11:00:00-11:59:59 Work, main job 4 10:15:30 12:07:00 None, Develop
12:00:00-12:59:59 Attending or hosting parties/receptions/ceremonies 1 12:20:00 14:20:00 Develop
12:00:00-12:59:59 Eating and drinking 3 12:00:00 12:30:00 None, Sustain
12:00:00-12:59:59 Food and drink preparation 1 11:00:00 12:00:00 Enable
12:00:00-12:59:59 Insufficient detail in verbatim 1 12:53:00 13:23:00 Sustain
12:00:00-12:59:59 Interior arrangement, decoration, & repairs 1 20:10:00 00:30:00 Enable
12:00:00-12:59:59 Interior cleaning 2 08:26:30 12:26:30 Sustain
12:00:00-12:59:59 Kitchen and food clean-up 1 12:30:00 13:00:00 Sustain
12:00:00-12:59:59 Laundry 1 12:30:00 13:15:00 Enable
12:00:00-12:59:59 Purchasing food (not groceries) 1 12:45:00 12:55:00 Enable
12:00:00-12:59:59 Shopping, except groceries, food and gas 1 12:34:00 13:34:00 Enable
12:00:00-12:59:59 Sleeping 7 21:30:00 06:30:00 None
12:00:00-12:59:59 Socializing and communicating with others 2 11:45:00 12:45:00 None, Sustain
12:00:00-12:59:59 Television and movies (not religious) 1 09:04:00 12:30:00 None
12:00:00-12:59:59 Travel related to attending or hosting social events 1 11:57:00 12:20:00 Develop
12:00:00-12:59:59 Travel related to purchasing food (not groceries) 2 12:27:30 12:52:30 None
12:00:00-12:59:59 Travel related to shopping, ex groceries, food, and gas 1 12:14:00 12:34:00 None
12:00:00-12:59:59 Travel related to socializing and communicating 1 12:30:00 12:45:00 None
12:00:00-12:59:59 Washing, dressing and grooming oneself 1 23:49:00 00:04:00 None
12:00:00-12:59:59 Work, main job 4 10:15:30 13:07:00 None
13:00:00-13:59:59 Attending or hosting parties/receptions/ceremonies 1 12:20:00 14:20:00 Develop
13:00:00-13:59:59 Food and drink preparation 2 13:22:00 14:37:00 Sustain, Enable
13:00:00-13:59:59 Insufficient detail in verbatim 1 12:53:00 13:23:00 Sustain
13:00:00-13:59:59 Interior arrangement, decoration, & repairs 1 20:10:00 00:30:00 Enable
13:00:00-13:59:59 Kitchen and food clean-up 2 12:52:30 13:30:00 Sustain, Develop
13:00:00-13:59:59 Laundry 1 12:30:00 13:15:00 Enable
13:00:00-13:59:59 Playing with hh children, not sports 1 13:23:00 16:23:00 Develop
13:00:00-13:59:59 Reading to/with hh children 1 13:00:00 14:30:00 Sustain
13:00:00-13:59:59 Shopping, except groceries, food and gas 1 12:34:00 13:34:00 Enable
13:00:00-13:59:59 Sleeping 7 21:30:00 06:30:00 None
13:00:00-13:59:59 Socializing and communicating with others 1 12:45:00 13:30:00 None
13:00:00-13:59:59 Travel related to purchasing food (not groceries) 1 12:55:00 13:00:00 None
13:00:00-13:59:59 Travel related to shopping, ex groceries, food, and gas 1 13:34:00 13:44:00 None
13:00:00-13:59:59 Vehicle repair and maintenance (by self) 1 13:30:00 14:30:00 Enable
13:00:00-13:59:59 Washing, dressing and grooming oneself 1 23:49:00 00:04:00 None
13:00:00-13:59:59 Work, main job 2 11:45:30 15:30:00 None
14:00:00-14:59:59 Attending or hosting parties/receptions/ceremonies 1 12:20:00 14:20:00 Develop
14:00:00-14:59:59 Eating and drinking 1 14:25:00 15:25:00 Develop
14:00:00-14:59:59 Exterior cleaning 1 14:00:00 15:20:00 Develop
14:00:00-14:59:59 Food and drink preparation 2 13:22:00 14:37:00 Sustain, Enable
14:00:00-14:59:59 Interior arrangement, decoration, & repairs 1 20:10:00 00:30:00 Enable
14:00:00-14:59:59 Interior cleaning 1 14:30:00 14:50:00 Sustain
14:00:00-14:59:59 Kitchen and food clean-up 1 13:15:00 14:00:00 Develop
14:00:00-14:59:59 Playing with hh children, not sports 1 13:23:00 16:23:00 Develop
14:00:00-14:59:59 Reading to/with hh children 1 13:00:00 14:30:00 Sustain
14:00:00-14:59:59 Relaxing, thinking 2 14:40:00 15:00:00 Sustain
14:00:00-14:59:59 Sleeping 7 21:30:00 06:30:00 None
14:00:00-14:59:59 Television and movies (not religious) 1 14:00:00 16:00:00 None
14:00:00-14:59:59 Travel related to attending or hosting social events 1 14:20:00 14:25:00 Develop
14:00:00-14:59:59 Vehicle repair and maintenance (by self) 2 14:05:00 15:05:00 Enable
14:00:00-14:59:59 Washing, dressing and grooming oneself 2 18:54:30 07:09:30 None
14:00:00-14:59:59 Work, main job 3 12:30:00 16:30:00 None
15:00:00-15:59:59 Eating and drinking 2 15:09:30 15:59:30 Develop
15:00:00-15:59:59 Exterior cleaning 1 14:00:00 15:20:00 Develop
15:00:00-15:59:59 Food and drink preparation 2 14:32:00 15:47:00 Sustain, Develop
15:00:00-15:59:59 Interior arrangement, decoration, & repairs 1 20:10:00 00:30:00 Enable
15:00:00-15:59:59 Kitchen and food clean-up 1 15:20:00 16:30:00 Sustain
15:00:00-15:59:59 Laundry 1 15:35:00 17:30:00 Develop
15:00:00-15:59:59 Picking up/dropping off hh children 1 15:29:00 15:39:00 Develop
15:00:00-15:59:59 Playing with hh children, not sports 1 13:23:00 16:23:00 Develop
15:00:00-15:59:59 Relaxing, thinking 2 15:15:00 15:35:00 None, Sustain
15:00:00-15:59:59 Sleeping 7 21:30:00 06:30:00 None
15:00:00-15:59:59 Socializing and communicating with others 1 15:25:00 15:35:00 Develop
15:00:00-15:59:59 Television and movies (not religious) 1 14:00:00 16:00:00 None
15:00:00-15:59:59 Travel related to hh children's education 2 15:26:30 15:41:30 None
15:00:00-15:59:59 Vehicle repair and maintenance (by self) 2 15:15:00 16:20:00 Enable
15:00:00-15:59:59 Washing, dressing and grooming oneself 1 23:49:00 00:04:00 None
15:00:00-15:59:59 Work, main job 2 13:22:30 16:45:00 None
16:00:00-16:59:59 Eating and drinking 3 16:20:00 16:40:00 None, Develop
16:00:00-16:59:59 Food and drink preparation 3 16:23:00 16:53:00 Sustain, Develop
16:00:00-16:59:59 Interior arrangement, decoration, & repairs 1 20:10:00 00:30:00 Enable
16:00:00-16:59:59 Kitchen and food clean-up 2 16:05:00 16:55:00 Sustain, Enable
16:00:00-16:59:59 Laundry 2 15:47:30 16:55:00 Develop, Enable
16:00:00-16:59:59 Playing with hh children, not sports 1 13:23:00 16:23:00 Develop
16:00:00-16:59:59 Sleeping 7 21:30:00 06:30:00 None
16:00:00-16:59:59 Socializing and communicating with others 2 16:40:00 17:17:30 Sustain, None
16:00:00-16:59:59 Television and movies (not religious) 2 15:17:00 16:47:00 Develop, None
16:00:00-16:59:59 Travel related to socializing and communicating 1 16:30:00 16:40:00 None
16:00:00-16:59:59 Vehicle repair and maintenance (by self) 1 15:50:00 17:00:00 Enable
16:00:00-16:59:59 Washing, dressing and grooming oneself 2 20:04:30 08:32:00 None
16:00:00-16:59:59 Work, main job 2 13:22:30 16:45:00 None
17:00:00-17:59:59 Appliance, tool, and toy set-up, repair, & maintenance (by self) 1 17:15:00 17:45:00 Enable
17:00:00-17:59:59 Eating and drinking 3 17:00:00 17:45:00 Develop, None
17:00:00-17:59:59 Food and drink preparation 3 17:15:00 18:00:00 Sustain, Develop
17:00:00-17:59:59 Homework (hh children) 1 17:34:00 19:34:00 Develop
17:00:00-17:59:59 Insufficient detail in verbatim 1 17:35:00 18:20:00 Develop
17:00:00-17:59:59 Interior arrangement, decoration, & repairs 1 20:10:00 00:30:00 Enable
17:00:00-17:59:59 Kitchen and food clean-up 1 16:50:00 17:20:00 Enable
17:00:00-17:59:59 Laundry 2 16:17:30 17:22:30 Develop, Enable
17:00:00-17:59:59 Physical care for hh adults 1 17:45:00 17:46:00 Sustain
17:00:00-17:59:59 Playing with hh children, not sports 1 17:23:00 19:53:00 Develop
17:00:00-17:59:59 Sleeping 7 21:30:00 06:30:00 None
17:00:00-17:59:59 Socializing and communicating with others 3 17:45:00 18:00:00 Sustain, None
17:00:00-17:59:59 Television and movies (not religious) 1 16:34:00 17:34:00 Develop
17:00:00-17:59:59 Travel related to working 1 17:00:00 17:15:00 None
17:00:00-17:59:59 Vehicle repair and maintenance (by self) 1 15:50:00 17:00:00 Enable
17:00:00-17:59:59 Washing, dressing and grooming oneself 3 17:20:00 17:00:00 None
17:00:00-17:59:59 Work, main job 1 12:30:00 17:00:00 None
18:00:00-18:59:59 Computer use for leisure (exc. Games) 1 18:30:00 20:00:00 None
18:00:00-18:59:59 Eating and drinking 3 18:00:00 18:45:00 Sustain, None
18:00:00-18:59:59 Food and drink preparation 2 16:52:30 18:07:30 Sustain
18:00:00-18:59:59 Homework (hh children) 1 17:34:00 19:34:00 Develop
18:00:00-18:59:59 Insufficient detail in verbatim 1 17:35:00 18:20:00 Develop
18:00:00-18:59:59 Interior arrangement, decoration, & repairs 1 20:10:00 00:30:00 Enable
18:00:00-18:59:59 Kitchen and food clean-up 1 18:45:00 19:20:00 Sustain
18:00:00-18:59:59 Physical care for hh children 1 18:20:00 19:20:00 Develop
18:00:00-18:59:59 Playing with hh children, not sports 1 17:23:00 19:53:00 Develop
18:00:00-18:59:59 Sleeping 7 21:30:00 06:30:00 None
18:00:00-18:59:59 Socializing and communicating with others 3 17:46:00 18:15:00 None, Sustain
18:00:00-18:59:59 Television and movies (not religious) 2 18:32:30 20:00:00 None
18:00:00-18:59:59 Travel related to socializing and communicating 3 18:05:00 18:20:00 None
18:00:00-18:59:59 Travel related to working 1 18:15:00 18:30:00 None
18:00:00-18:59:59 Washing, dressing and grooming oneself 2 20:34:30 09:04:30 None
18:00:00-18:59:59 Work, main job 1 18:30:00 19:00:00 None
19:00:00-19:59:59 Computer use for leisure (exc. Games) 1 18:30:00 20:00:00 None
19:00:00-19:59:59 Homework (hh children) 1 17:34:00 19:34:00 Develop
19:00:00-19:59:59 Interior arrangement, decoration, & repairs 1 20:10:00 00:30:00 Enable
19:00:00-19:59:59 Kitchen and food clean-up 1 18:45:00 19:20:00 Sustain
19:00:00-19:59:59 Laundry 1 19:34:00 20:49:00 Sustain
19:00:00-19:59:59 Physical care for hh children 3 19:20:00 19:30:00 Sustain, Develop
19:00:00-19:59:59 Playing with hh children, not sports 1 17:23:00 19:53:00 Develop
19:00:00-19:59:59 Sleeping 7 21:30:00 06:30:00 None
19:00:00-19:59:59 Socializing and communicating with others 1 18:08:00 20:10:00 Sustain
19:00:00-19:59:59 Taking class for personal interest 1 19:30:00 20:30:00 Develop
19:00:00-19:59:59 Television and movies (not religious) 3 18:50:00 20:00:00 None
19:00:00-19:59:59 Travel related to working 1 19:00:00 19:15:00 None
19:00:00-19:59:59 Walking 1 19:20:00 20:30:00 Sustain
19:00:00-19:59:59 Washing, dressing and grooming oneself 1 23:49:00 00:04:00 None
19:00:00-19:59:59 Work, main job 1 18:30:00 19:00:00 None
20:00:00-20:59:59 Computer use 1 20:35:00 21:35:00 Develop
20:00:00-20:59:59 Computer use for leisure (exc. Games) 2 19:15:00 20:45:00 None
20:00:00-20:59:59 Food and drink preparation 1 20:13:00 20:18:00 Enable
20:00:00-20:59:59 Interior arrangement, decoration, & repairs 2 20:05:00 10:20:00 Enable
20:00:00-20:59:59 Laundry 2 19:47:00 20:44:30 Sustain, Enable
20:00:00-20:59:59 Physical care for hh children 2 20:11:30 20:19:00 Sustain, Develop
20:00:00-20:59:59 Sleeping 7 21:30:00 06:30:00 None
20:00:00-20:59:59 Socializing and communicating with others 2 19:28:30 20:59:30 Develop, Sustain
20:00:00-20:59:59 Taking class for personal interest 1 19:30:00 20:30:00 Develop
20:00:00-20:59:59 Television and movies (not religious) 5 19:15:00 21:30:00 None, Sustain
20:00:00-20:59:59 Travel related to socializing and communicating 1 20:10:00 20:13:00 None
20:00:00-20:59:59 Walking 1 19:20:00 20:30:00 Sustain
20:00:00-20:59:59 Washing, dressing and grooming oneself 1 23:49:00 00:04:00 None
21:00:00-21:59:59 Computer use 1 20:35:00 21:35:00 Develop
21:00:00-21:59:59 Computer use for leisure (exc. Games) 1 20:00:00 21:30:00 None
21:00:00-21:59:59 Listening to/playing music (not radio) 1 21:49:00 22:49:00 None
21:00:00-21:59:59 Physical care for hh children 1 21:35:00 22:05:00 Develop
21:00:00-21:59:59 Sleeping 5 22:00:00 06:30:00 None
21:00:00-21:59:59 Socializing and communicating with others 1 20:49:00 21:49:00 Develop
21:00:00-21:59:59 Television and movies (not religious) 3 20:03:00 22:00:00 None, Sustain
21:00:00-21:59:59 Washing, dressing and grooming oneself 1 23:49:00 00:04:00 None
22:00:00-22:59:59 Eating and drinking 1 22:35:00 23:00:00 None
22:00:00-22:59:59 Listening to/playing music (not radio) 1 21:49:00 22:49:00 None
22:00:00-22:59:59 Participation in religious practices 1 22:49:00 23:49:00 None
22:00:00-22:59:59 Physical care for hh children 1 21:35:00 22:05:00 Develop
22:00:00-22:59:59 Playing games 1 22:05:00 22:35:00 None
22:00:00-22:59:59 Sleeping 3 22:30:00 04:30:00 None
22:00:00-22:59:59 Television and movies (not religious) 2 19:39:00 22:15:00 None
22:00:00-22:59:59 Washing, dressing and grooming oneself 1 23:49:00 00:04:00 None
23:00:00-23:59:59 Eating and drinking 1 22:35:00 23:00:00 None
23:00:00-23:59:59 Health-related self care 1 23:10:00 23:15:00 None
23:00:00-23:59:59 Participation in religious practices 1 22:49:00 23:49:00 None
23:00:00-23:59:59 Sleeping 1 23:15:00 01:30:00 None
23:00:00-23:59:59 Washing, dressing and grooming oneself 2 23:24:30 11:37:00 None
persona_5 <- common_activities_hourly

Additional Personas

Additional Personas and demographic breakdowns can be added as desired.