3  Short Report Analysis

3.1 Overview

3.2 Set the Environment

3.2.1 Load Packages

Code
library(askpass)
library(car)
library(checkmate)
library(cli)
library(dplyr)
library(fs)
library(ggplot2)
library(googlesheets4)
library(grDevices)
library(gt)
library(gtsummary)
library(groomr) # github.com/danielvartan/groomr
library(here)
library(hms)
library(lubridate)
library(lubritime) # github.com/danielvartan/lubritime
library(moments)
library(plotr) # github.com/danielvartan/plotr
library(prettycheck) # github.com/danielvartan/prettycheck
library(rutils) # github.com/danielvartan/rutils
library(scaler) # github.com/danielvartan/scaler
library(sodium)
library(stats)
library(stringr)
library(summarytools)
library(tidyr)

3.2.2 Load Custom Functions

Code
source(here("R", "anonymize_id.R"))

3.2.3 Set Data Directories

Code
data_dir <- here("data")
processed_data_dir <- here(data_dir, "processed")
actigraphy_processed_data_dir <- here(data_dir, "processed", "actigraphy")
Code
for (i in ls(pattern = "_dir$")) {
  if (!dir_exists(get(i))) dir_create(get(i), recurse = TRUE)
}

3.2.4 Set Keys

Code
gs4_auth(
  cache = here(".secrets"),
  email = TRUE,
  use_oob = FALSE
)
Code
salt <- Sys.getenv("PREGNANCY_SALT") # askpass()

3.3 Download and Import the Control Form Data

The following are internal data collected and organized using a Google Form to facilitate the management of the study.

Code
control_form_data <-
  "13wtDr4fRD1wJSM-qdLOdGSchF8oXU1bG0Jtccu24GhY" |>
  read_sheet(
    sheet = "Dataset",
    col_types = "c",
    na = c("", "NA")
  )

3.4 Download and Import the Field Form Data

The following are data extracted from the Google Form used to collect data from the participants of the study.

Code
field_form_data <-
  "1tY_TT0nPXFsErYQS2VED0-hqTzgHudA9BfhRhYG19fw" |>
  read_sheet(
    sheet = "Dataset",
    col_types = "c",
    na = c("", "NA")
  )

3.5 Download and Import the Sleep Data

The sleep data were extracted using the Condor Instrument ActStudio software and subsequently formatted in Google Sheets for further analysis.

Code
sleep_data <-
  "1iqjhdSiWYr9RYSvIvJQfFw35DR31YA_oj2SW8iR5WPw" |>
  read_sheet(
    sheet = "Dataset",
    col_types = "c",
    na = c("", "NA")
  )

3.6 Download and Import the Medical Records Data

Medical records were obtained from participants’ medical files and organized in Google Sheets for subsequent analysis.

Code
medical_record_data <-
  "10yvvTOCjZsRKPO8A4yn0NCvWe4Jn_Kq-Zu_CV4miGJI" |>
  read_sheet(
    sheet = "Dataset",
    col_types = "c",
    na = c("", "NA")
  )

3.7 Filter and Tidy the Control Form Data

Code
control_form_data <-
  control_form_data |>
  `names<-`(paste0("X", seq_along(control_form_data))) |>
  dplyr::select(X5, X6, X7, X12, X13, X14) |>
  rename(
    cpf = X5,
    id = X6,
    name = X7,
    birth_center_delivery = X12,
    birth = X13,
    labor_start = X14
  ) |>
  mutate(
    birth_center_delivery = case_when(
      tolower(trimws(birth_center_delivery)) == "sim" ~ TRUE,
      tolower(trimws(birth_center_delivery)) == "não" ~ FALSE,
      TRUE ~ NA
    ),
    birth = as_datetime(birth, tz = "America/Sao_Paulo"),
    labor_start = as_datetime(labor_start, tz = "America/Sao_Paulo")
  ) |>
  mutate(
    labor_duration =
      interval(
        start = labor_start,
        end = birth
      ) |>
        int_duration()
  ) |>
  filter(!is.na(labor_duration)) |>
  dplyr::select(id, birth_center_delivery, labor_start, labor_duration)
control_form_data |> glimpse()
#> Rows: 27
#> Columns: 4
#> $ id                    <chr> "9e858cd8", "a053ce64", "02250df5", "5f28e20f…
#> $ birth_center_delivery <lgl> FALSE, TRUE, TRUE, FALSE, TRUE, FALSE, TRUE, …
#> $ labor_start           <dttm> 2023-06-14 11:00:00, 2023-08-06 09:30:00, 20…
#> $ labor_duration        <Duration> 79320s (~22.03 hours), 19440s (~5.4 hour…

3.8 Filter and Tidy the Field Form Data

Code
field_form_data <-
  field_form_data |>
  `names<-`(paste0("X", seq_along(field_form_data))) |>
  dplyr::select(
    X1, X4, X5, X11, X91, X92, X95, X96, X97, X99, X101, X102, X106, X119,
    X118, X125, X126
  ) |>
  rename(
    timestamp = X1,
    birth_date = X4,
    cpf = X5,
    weight_before = X96,
    weight_current = X95,
    height = X97,
    ethnicity = X106,
    education = X118,
    family_income = X99,
    health_plan = X101,
    solo = X102,
    exercise = X119,
    work = X92,
    study = X91,
    gestations = X11,
    deliveries = X125,
    abortions = X126
  ) |>
  mutate(
    id = anonymize_id(cpf, salt),
    timestamp = mdy_hms(timestamp, tz = "America/Sao_Paulo"),
    birth_date = dmy(birth_date),
    age = scaler:::age(birth_date, timestamp),
    ethnicity = factor(
      ethnicity,
      levels = c(
        "Indígena",
        "Preta",
        "Parda",
        "Amarela",
        "Branca"
      ),
      ordered = TRUE
    ),
    education = factor(
      education,
      levels = c(
        "Não frequentou a escola",
        "Fundamental incompleto",
        "Fundamental completo",
        "Ensino médio incompleto",
        "Ensino médio completo",
        "Ensino superior incompleto",
        "Ensino superior completo",
        "Mestrado incompleto",
        "Mestrado completo",
        "Doutorado incompleto",
        "Doutorado completo",
        "Pós-doutorado incompleto",
        "Pós-doutorado completo"
      ),
      ordered = TRUE
    ),
    gestations = case_match(
      gestations,
      c("Sim", "0") ~ "1",
      "Não" ~ "0",
      .default = gestations
    ),
    deliveries = case_when(
      is.na(deliveries) ~ "0",
      TRUE ~ deliveries
    ),
    abortions = case_when(
      is.na(abortions) ~ "0",
      TRUE ~ abortions
    )
  ) |>
  mutate(
    across(
      .cols = all_of(
        c(
          "weight_before", "weight_current", "height",
          "family_income", "gestations", "deliveries",
          "abortions"
        )
      ),
      .fns = as.numeric
    )
  ) |>
  mutate(
    across(
      .cols = all_of(
        c("health_plan", "solo", "exercise", "work", "study")
      ),
      .fns = function(x) {
        case_match(
          x,
          "Sim" ~ TRUE,
          "Não" ~ FALSE
        )
      }
    )
  ) |>
  mutate(
    bmi_before = weight_before / ((height / 100)^2),
    bmi_current = weight_current / ((height / 100)^2)
  ) |>
  dplyr::select(-starts_with("cpf")) |>
  relocate(
    id, timestamp, birth_date, age, weight_before, weight_current, height, bmi_before, bmi_current, family_income
  )
field_form_data |> glimpse()
#> Rows: 74
#> Columns: 20
#> $ id             <chr> "9e858cd8", "a053ce64", "b37bd425", "db850249", "022…
#> $ timestamp      <dttm> 2023-05-21 11:18:49, 2023-05-26 17:55:52, 2023-06-3…
#> $ birth_date     <date> 1991-03-22, 2001-07-25, 1989-02-23, 1998-01-12, 199…
#> $ age            <dbl> 32.16388889, 21.83611111, 34.35277778, 25.47222222, …
#> $ weight_before  <dbl> 70, 50, 87, 70, 64, 84, 49, 60, 75, 66, 64, 72, 92, …
#> $ weight_current <dbl> 86, 75, 94, 76, 78, 87, 58, 91, 89, 79, 76, 89, 110,…
#> $ height         <dbl> 160, 156, 174, 169, 153, 168, 157, 164, 164, 159, 16…
#> $ bmi_before     <dbl> 27.34375000, 20.54569362, 28.73563218, 24.50894577, …
#> $ bmi_current    <dbl> 33.59375000, 30.81854043, 31.04769454, 26.60971255, …
#> $ family_income  <dbl> 4000, 2800, 6000, 5000, 3000, 4000, 3000, 9000, 6000…
#> $ gestations     <dbl> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1…
#> $ study          <lgl> FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALS…
#> $ work           <lgl> TRUE, TRUE, TRUE, TRUE, FALSE, TRUE, TRUE, FALSE, TR…
#> $ health_plan    <lgl> FALSE, FALSE, TRUE, TRUE, FALSE, FALSE, FALSE, FALSE…
#> $ solo           <lgl> FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FAL…
#> $ ethnicity      <ord> Branca, Parda, Branca, Branca, Parda, Parda, Branca,…
#> $ exercise       <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
#> $ education      <ord> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
#> $ deliveries     <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0…
#> $ abortions      <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0…

3.9 Filter and Tidy the Sleep Data

Code
sleep_data <-
  sleep_data |>
  mutate(
    across(
      .cols = matches("^his_|^hfs_|^fps_|^tts_m|^tts_sd|^waso_"),
      .fns = hms::parse_hms
    ),
    across(
      .cols = matches("^tts_fps_|^awakenings_"),
      .fns = as.numeric
    )
  )
sleep_data |> glimpse()
#> Rows: 8
#> Columns: 29
#> $ id              <chr> "a053ce64", "b37bd425", "db850249", "b0e857dd", "1d…
#> $ his_min         <time> 01:26:15, 00:01:18, 00:05:52, 22:30:44, 23:25:39, …
#> $ his_max         <time> 03:41:15, 02:05:18, 03:41:52, 05:55:44, 01:38:39, …
#> $ his_mean        <time> 02:18:45, 01:12:54, 01:28:52, 00:39:32, 00:37:19, …
#> $ his_sd          <time> 00:37:56, 00:38:38, 01:01:57, 02:40:43, 00:51:14, …
#> $ hfs_min         <time> 07:42:15, 05:55:18, 08:02:52, 04:02:44, 07:13:39, …
#> $ hfs_max         <time> 15:37:15, 09:13:18, 10:24:52, 10:32:44, 10:51:39, …
#> $ hfs_mean        <time> 11:10:40, 07:51:18, 09:30:26, 07:30:20, 08:36:59, …
#> $ hfs_sd          <time> 02:25:50, 01:10:06, 00:55:05, 02:13:33, 01:13:28, …
#> $ fps_min         <time> 05:01:00, 05:33:00, 06:34:00, 02:38:00, 06:21:00, …
#> $ fps_max         <time> 13:40:00, 07:15:00, 09:54:00, 10:57:00, 09:44:00, …
#> $ fps_mean        <time> 08:42:00, 06:38:50, 08:01:34, 06:50:10, 07:59:40, …
#> $ fps_sd          <time> 02:49:52, 00:39:54, 01:09:38, 03:10:58, 01:15:16, …
#> $ tts_min         <time> 04:05:00, 05:11:00, 05:47:00, 02:20:00, 03:57:00, …
#> $ tts_max         <time> 10:00:00, 06:44:00, 08:35:00, 08:31:00, 06:23:00, …
#> $ tts_mean        <time> 06:56:37, 06:00:00, 06:50:17, 05:47:36, 05:19:00, …
#> $ tts_sd          <time> 02:05:55, 00:33:49, 01:02:44, 02:29:07, 00:49:14, …
#> $ tts_fps_min     <dbl> 73.17, 84.60, 69.86, 77.78, 53.74, 76.98, 86.54, 73…
#> $ tts_fps_max     <dbl> 92.38, 95.96, 92.89, 93.43, 80.35, 86.85, 95.13, 95…
#> $ tts_fps_mean    <dbl> 80.78, 90.53, 85.45, 86.06, 67.11, 81.94, 90.17, 85…
#> $ tts_fps_sd      <dbl> 6.34, 3.68, 7.08, 5.14, 9.20, 3.49, 2.77, 8.32
#> $ waso_min        <time> 00:40:00, 00:17:07, 00:28:00, 00:18:00, 01:29:00, 0…
#> $ waso_max        <time> 03:40:00, 01:07:00, 02:34:00, 02:26:00, 04:08:00, …
#> $ waso_mean       <time> 01:45:25, 00:38:20, 01:11:17, 01:03:12, 02:40:00, …
#> $ waso_sd         <time> 01:00:18, 00:17:07, 00:38:00, 00:48:39, 00:58:46, …
#> $ awakenings_min  <dbl> 8, 3, 3, 4, 10, 8, 6, 8
#> $ awakenings_max  <dbl> 34, 10, 15, 13, 21, 19, 14, 20
#> $ awakenings_mean <dbl> 18.00, 5.83, 10.29, 8.40, 16.67, 13.97, 9.00, 13.80
#> $ awakenings_sd   <dbl> 7.33, 2.27, 3.61, 3.50, 4.27, 4.31, 2.45, 4.26

3.10 Filter and Tidy the Medical Record Data

Code
medical_record_data <-
  medical_record_data |>
  mutate(
    across(
      .cols = all_of(c("partograph_begin", "baby_birth")),
      .fns = ~ ymd_hms(.x, tz = "America/Sao_Paulo")
    ),
    across(
      .cols = -all_of(c("id", "partograph_begin", "baby_birth")),
      .fns = as.numeric
    ),
    across(
      .cols = starts_with("apgar_"),
      .fns = as.integer
    )
  )
medical_record_data |> glimpse()
#> Rows: 8
#> Columns: 11
#> $ id                       <chr> "a053ce64", "b37bd425", "db850249", "b0e85…
#> $ partograph_begin         <dttm> 2023-06-08 11:40:00, 2023-07-23 06:10:00,…
#> $ begin_dilation           <dbl> 7, 6, 5, 7, 7, 7, 10, 7
#> $ baby_birth               <dttm> 2023-06-08 14:54:00, 2023-07-23 10:17:00, …
#> $ baby_weight              <dbl> 2995, 3340, 3010, 2785, 3730, 3080, 3215,…
#> $ baby_length              <dbl> 46.0, 49.5, 45.5, 46.0, 51.0, 49.0, 47.5, …
#> $ baby_head_perimeter      <dbl> 32.5, 35.0, 33.0, 33.0, 34.0, 31.2, 34.0, …
#> $ baby_thoracic_perimeter  <dbl> 31.0, 33.5, 32.0, 32.0, 34.5, 32.0, 33.5, …
#> $ baby_abdominal_perimeter <dbl> 30.0, 32.5, 33.5, 30.0, 31.5, 30.0, 32.0, …
#> $ apgar_score_1_minute     <int> 9, 9, 9, 9, 9, 9, 9, 9
#> $ apgar_score_5_minute     <int> 10, 10, 10, 10, 10, 10, 10, 10

3.11 Identify Valid Cases

Code
valid_cases <-
  field_form_data |>
  left_join(control_form_data, by = "id") |>
  left_join(sleep_data, by = "id") |>
  left_join(medical_record_data, by = "id") |>
  filter(birth_center_delivery == TRUE) |>
  drop_na(labor_duration, baby_weight, fps_mean, waso_mean) |> #
  pull(id)
valid_cases
#> [1] "a053ce64" "b37bd425" "db850249" "b0e857dd" "1d215e39" "d3350e10"
#> [7] "7cbf7851" "f1e30a89"

3.12 Create the Data for Analysis

Code
data <-
  control_form_data |>
  left_join(field_form_data, by = "id") |>
  left_join(sleep_data, by = "id") |>
  left_join(medical_record_data, by = "id") |>
  mutate(
    waso_prop =
      waso_mean |>
      as.numeric() |>
      divide_by(as.numeric(fps_mean))
  ) |>
  filter(id %in% valid_cases) |>
  dplyr::select(-starts_with("cpf"))
Code
data |> glimpse()
#> Rows: 8
#> Columns: 62
#> $ id                       <chr> "a053ce64", "b0e857dd", "1d215e39", "b37bd…
#> $ birth_center_delivery    <lgl> TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, …
#> $ labor_start              <dttm> 2023-08-06 09:30:00, 2023-08-01 03:30:00,…
#> $ labor_duration           <Duration> 19440s (~5.4 hours), 99300s (~1.15 da…
#> $ timestamp                <dttm> 2023-05-26 17:55:52, 2023-07-16 22:02:13,…
#> $ birth_date               <date> 2001-07-25, 1989-03-06, 1996-05-11, 1989-…
#> $ age                      <dbl> 21.83611111, 34.36111111, 27.20277778, 34.…
#> $ weight_before            <dbl> 50, 75, 66, 87, 70, 73, 52, 61
#> $ weight_current           <dbl> 75, 89, 79, 94, 76, 90, 62, 77
#> $ height                   <dbl> 156, 164, 159, 174, 169, 159, 148, 160
#> $ bmi_before               <dbl> 20.54569362, 27.88518739, 26.10656224, 28.…
#> $ bmi_current              <dbl> 30.81854043, 33.09042237, 31.24876389, 31.…
#> $ family_income            <dbl> 2800, 6000, 2500, 6000, 5000, 3000, 3500, …
#> $ gestations               <dbl> 1, 1, 1, 1, 1, 2, 1, 1
#> $ study                    <lgl> TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, F…
#> $ work                     <lgl> TRUE, TRUE, FALSE, TRUE, TRUE, FALSE, TRUE…
#> $ health_plan              <lgl> FALSE, TRUE, FALSE, TRUE, TRUE, FALSE, FAL…
#> $ solo                     <lgl> FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, …
#> $ ethnicity                <ord> Parda, Branca, Parda, Branca, Branca, Bran…
#> $ exercise                 <lgl> NA, NA, NA, NA, NA, FALSE, FALSE, FALSE
#> $ education                <ord> NA, NA, NA, NA, NA, Ensino superior incomp…
#> $ deliveries               <dbl> 0, 0, 0, 0, 0, 0, 0, 0
#> $ abortions                <dbl> 0, 0, 0, 0, 0, 1, 0, 0
#> $ his_min                  <time> 01:26:15, 22:30:44, 23:25:39, 00:01:18, 00…
#> $ his_max                  <time> 03:41:15, 05:55:44, 01:38:39, 02:05:18, 03…
#> $ his_mean                 <time> 02:18:45, 00:39:32, 00:37:19, 01:12:54, 01…
#> $ his_sd                   <time> 00:37:56, 02:40:43, 00:51:14, 00:38:38, 01…
#> $ hfs_min                  <time> 07:42:15, 04:02:44, 07:13:39, 05:55:18, 08…
#> $ hfs_max                  <time> 15:37:15, 10:32:44, 10:51:39, 09:13:18, 10…
#> $ hfs_mean                 <time> 11:10:40, 07:30:20, 08:36:59, 07:51:18, 09…
#> $ hfs_sd                   <time> 02:25:50, 02:13:33, 01:13:28, 01:10:06, 0…
#> $ fps_min                  <time> 05:01:00, 02:38:00, 06:21:00, 05:33:00, 0…
#> $ fps_max                  <time> 13:40:00, 10:57:00, 09:44:00, 07:15:00, 0…
#> $ fps_mean                 <time> 08:42:00, 06:50:10, 07:59:40, 06:38:50, 0…
#> $ fps_sd                   <time> 02:49:52, 03:10:58, 01:15:16, 00:39:54, 0…
#> $ tts_min                  <time> 04:05:00, 02:20:00, 03:57:00, 05:11:00, 0…
#> $ tts_max                  <time> 10:00:00, 08:31:00, 06:23:00, 06:44:00, 0…
#> $ tts_mean                 <time> 06:56:37, 05:47:36, 05:19:00, 06:00:00, 0…
#> $ tts_sd                   <time> 02:05:55, 02:29:07, 00:49:14, 00:33:49, 0…
#> $ tts_fps_min              <dbl> 73.17, 77.78, 53.74, 84.60, 69.86, 73.33,…
#> $ tts_fps_max              <dbl> 92.38, 93.43, 80.35, 95.96, 92.89, 95.11,…
#> $ tts_fps_mean             <dbl> 80.78, 86.06, 67.11, 90.53, 85.45, 85.62,…
#> $ tts_fps_sd               <dbl> 6.34, 5.14, 9.20, 3.68, 7.08, 8.32, 3.49,…
#> $ waso_min                 <time> 00:40:00, 00:18:00, 01:29:00, 00:17:07, 0…
#> $ waso_max                 <time> 03:40:00, 02:26:00, 04:08:00, 01:07:00, 0…
#> $ waso_mean                <time> 01:45:25, 01:03:12, 02:40:00, 00:38:20, 0…
#> $ waso_sd                  <time> 01:00:18, 00:48:39, 00:58:46, 00:17:07, 00…
#> $ awakenings_min           <dbl> 8, 4, 10, 3, 3, 8, 8, 6
#> $ awakenings_max           <dbl> 34, 13, 21, 10, 15, 20, 19, 14
#> $ awakenings_mean          <dbl> 18.00, 8.40, 16.67, 5.83, 10.29, 13.80, 13…
#> $ awakenings_sd            <dbl> 7.33, 3.50, 4.27, 2.27, 3.61, 4.26, 4.31, …
#> $ partograph_begin         <dttm> 2023-06-08 11:40:00, 2023-08-02 03:00:00, …
#> $ begin_dilation           <dbl> 7, 7, 7, 6, 5, 7, 7, 10
#> $ baby_birth               <dttm> 2023-06-08 14:54:00, 2023-08-02 07:05:00,…
#> $ baby_weight              <dbl> 2995, 2785, 3730, 3340, 3010, 2740, 3080,…
#> $ baby_length              <dbl> 46.0, 46.0, 51.0, 49.5, 45.5, 47.0, 49.0,…
#> $ baby_head_perimeter      <dbl> 32.5, 33.0, 34.0, 35.0, 33.0, 32.0, 31.2,…
#> $ baby_thoracic_perimeter  <dbl> 31.0, 32.0, 34.5, 33.5, 32.0, 31.0, 32.0, …
#> $ baby_abdominal_perimeter <dbl> 30.0, 30.0, 31.5, 32.5, 33.5, 28.0, 30.0, …
#> $ apgar_score_1_minute     <int> 9, 9, 9, 9, 9, 9, 9, 9
#> $ apgar_score_5_minute     <int> 10, 10, 10, 10, 10, 10, 10, 10
#> $ waso_prop                <dbl> 0.20194763729, 0.15408370581, 0.3335649756…

3.13 Get Descriptive Statistics of the Sample Time Interval

cli_h1("timestamp")
#> 
#> ── timestamp ────────────────────────────────────────────────────────────────
cat_line()

data |>
  stats_summary(
    col = "timestamp",
    name = "timestamp",
    threshold = NULL
  ) |>
  print(n = Inf)
#> # A tibble: 17 × 2
#>    name     value                                
#>    <chr>    <chr>                                
#>  1 name     timestamp                            
#>  2 class    POSIXct                              
#>  3 n        8                                    
#>  4 n_rm_na  8                                    
#>  5 n_na     0                                    
#>  6 mean     2023-12-22 03:44:03.375              
#>  7 var      428938220369039s (~13592231.99 years)
#>  8 sd       20710823.7491665s (~34.24 weeks)     
#>  9 min      2023-05-26 20:55:52                  
#> 10 q_1      2023-07-02 23:27:32                  
#> 11 median   2023-07-21 00:49:20                  
#> 12 q_3      2024-09-06 12:44:44                  
#> 13 max      2024-11-03 00:04:31                  
#> 14 iqr      37286232s (~1.18 years)              
#> 15 range    45457719s (~1.44 years)              
#> 16 skewness 0.521032391062454                    
#> 17 kurtosis 1.32186244260741

cat_line()

3.14 Get Frequencies for Logical Variables

Code
logical_vars <-
  data |>
  select(where(is.logical)) |>
  names()
for (i in logical_vars) {
  cli_h1(i)
  cat_line()

  data |>
    stats_summary(col = i, name = i) |>
    print(n = Inf)

  cat_line()
}
#> 
#> ── birth_center_delivery ────────────────────────────────────────────────────
#> 
#> # A tibble: 8 × 2
#>   name     value                
#>   <chr>    <chr>                
#> 1 name     birth_center_delivery
#> 2 class    logical              
#> 3 n        8                    
#> 4 n_rm_na  8                    
#> 5 n_na     0                    
#> 6 n_unique 1                    
#> 7 mode     TRUE                 
#> 8 'TRUE'   8
#> 
#> ── study ────────────────────────────────────────────────────────────────────
#> 
#> # A tibble: 9 × 2
#>   name     value  
#>   <chr>    <chr>  
#> 1 name     study  
#> 2 class    logical
#> 3 n        8      
#> 4 n_rm_na  8      
#> 5 n_na     0      
#> 6 n_unique 2      
#> 7 mode     FALSE  
#> 8 'FALSE'  7      
#> 9 'TRUE'   1
#> 
#> ── work ─────────────────────────────────────────────────────────────────────
#> 
#> # A tibble: 9 × 2
#>   name     value  
#>   <chr>    <chr>  
#> 1 name     work   
#> 2 class    logical
#> 3 n        8      
#> 4 n_rm_na  8      
#> 5 n_na     0      
#> 6 n_unique 2      
#> 7 mode     TRUE   
#> 8 'FALSE'  2      
#> 9 'TRUE'   6
#> 
#> ── health_plan ──────────────────────────────────────────────────────────────
#> 
#> # A tibble: 9 × 2
#>   name     value      
#>   <chr>    <chr>      
#> 1 name     health_plan
#> 2 class    logical    
#> 3 n        8          
#> 4 n_rm_na  8          
#> 5 n_na     0          
#> 6 n_unique 2          
#> 7 mode     FALSE      
#> 8 'FALSE'  5          
#> 9 'TRUE'   3
#> 
#> ── solo ─────────────────────────────────────────────────────────────────────
#> 
#> # A tibble: 8 × 2
#>   name     value  
#>   <chr>    <chr>  
#> 1 name     solo   
#> 2 class    logical
#> 3 n        8      
#> 4 n_rm_na  8      
#> 5 n_na     0      
#> 6 n_unique 1      
#> 7 mode     FALSE  
#> 8 'FALSE'  8
#> 
#> ── exercise ─────────────────────────────────────────────────────────────────
#> 
#> # A tibble: 9 × 2
#>   name     value   
#>   <chr>    <chr>   
#> 1 name     exercise
#> 2 class    logical 
#> 3 n        8       
#> 4 n_rm_na  3       
#> 5 n_na     5       
#> 6 n_unique 2       
#> 7 mode     <NA>    
#> 8 'FALSE'  3       
#> 9 'NA'     5

3.15 Get Frequencies for Categorical Variables

Code
categorical_vars <-
  data |>
  select(where(is.character) | where(is.factor)) |>
  select(-id) |>
  names()
for (i in categorical_vars) {
  cli_h1(i)
  cat_line()

  data |>
    stats_summary(col = i, name = i) |>
    print(n = Inf)

  cat_line()
}
#> 
#> ── ethnicity ────────────────────────────────────────────────────────────────
#> 
#> # A tibble: 9 × 2
#>   name     value    
#>   <chr>    <chr>    
#> 1 name     ethnicity
#> 2 class    character
#> 3 n        8        
#> 4 n_rm_na  8        
#> 5 n_na     0        
#> 6 n_unique 2        
#> 7 mode     Branca   
#> 8 'Branca' 5        
#> 9 'Parda'  3
#> 
#> ── education ────────────────────────────────────────────────────────────────
#> 
#> # A tibble: 10 × 2
#>    name                         value    
#>    <chr>                        <chr>    
#>  1 name                         education
#>  2 class                        character
#>  3 n                            8        
#>  4 n_rm_na                      3        
#>  5 n_na                         5        
#>  6 n_unique                     3        
#>  7 mode                         <NA>     
#>  8 'Ensino superior completo'   1        
#>  9 'Ensino superior incompleto' 2        
#> 10 'NA'                         5

3.16 Get Descriptive Statistics for Numerical Variables

Code
numerical_vars <-
  data |>
  select(where(is.numeric) & !where(test_temporal)) |>
  names()
for (i in numerical_vars) {
  cli_h1(i)
  cat_line()

  data |>
    stats_summary(col = i, name = i) |>
    print(n = Inf)

  cat_line()
}
#> 
#> ── age ──────────────────────────────────────────────────────────────────────
#> 
#> # A tibble: 17 × 2
#>    name     value             
#>    <chr>    <chr>             
#>  1 name     age               
#>  2 class    numeric           
#>  3 n        8                 
#>  4 n_rm_na  8                 
#>  5 n_na     0                 
#>  6 mean     29.2003472222222  
#>  7 var      27.065602816358   
#>  8 sd       5.20246122680006  
#>  9 min      21.8361111111111  
#> 10 q_1      25.0847222222222  
#> 11 median   29.5208333333333  
#> 12 q_3      34.3548611111111  
#> 13 max      34.6166666666667  
#> 14 iqr      9.27013888888889  
#> 15 range    12.7805555555556  
#> 16 skewness -0.167796245966507
#> 17 kurtosis 1.39285363405217
#> 
#> ── weight_before ────────────────────────────────────────────────────────────
#> 
#> # A tibble: 17 × 2
#>    name     value             
#>    <chr>    <chr>             
#>  1 name     weight_before     
#>  2 class    numeric           
#>  3 n        8                 
#>  4 n_rm_na  8                 
#>  5 n_na     0                 
#>  6 mean     66.75             
#>  7 var      151.357142857143  
#>  8 sd       12.3027290816771  
#>  9 min      50                
#> 10 q_1      58.75             
#> 11 median   68                
#> 12 q_3      73.5              
#> 13 max      87                
#> 14 iqr      14.75             
#> 15 range    37                
#> 16 skewness 0.0856852230790232
#> 17 kurtosis 2.14914988571679
#> 
#> ── weight_current ───────────────────────────────────────────────────────────
#> 
#> # A tibble: 17 × 2
#>    name     value             
#>    <chr>    <chr>             
#>  1 name     weight_current    
#>  2 class    numeric           
#>  3 n        8                 
#>  4 n_rm_na  8                 
#>  5 n_na     0                 
#>  6 mean     80.25             
#>  7 var      107.357142857143  
#>  8 sd       10.3613292032028  
#>  9 min      62                
#> 10 q_1      75.75             
#> 11 median   78                
#> 12 q_3      89.25             
#> 13 max      94                
#> 14 iqr      13.5              
#> 15 range    32                
#> 16 skewness -0.293774808039906
#> 17 kurtosis 2.30577434618454
#> 
#> ── height ───────────────────────────────────────────────────────────────────
#> 
#> # A tibble: 17 × 2
#>    name     value             
#>    <chr>    <chr>             
#>  1 name     height            
#>  2 class    numeric           
#>  3 n        8                 
#>  4 n_rm_na  8                 
#>  5 n_na     0                 
#>  6 mean     161.125           
#>  7 var      63.5535714285714  
#>  8 sd       7.97204938698773  
#>  9 min      148               
#> 10 q_1      158.25            
#> 11 median   159.5             
#> 12 q_3      165.25            
#> 13 max      174               
#> 14 iqr      7                 
#> 15 range    26                
#> 16 skewness 0.0693762409985175
#> 17 kurtosis 2.49806627428723
#> 
#> ── bmi_before ───────────────────────────────────────────────────────────────
#> 
#> # A tibble: 17 × 2
#>    name     value             
#>    <chr>    <chr>             
#>  1 name     bmi_before        
#>  2 class    numeric           
#>  3 n        8                 
#>  4 n_rm_na  8                 
#>  5 n_na     0                 
#>  6 mean     25.5281928033487  
#>  7 var      8.47626423008758  
#>  8 sd       2.91140245072501  
#>  9 min      20.5456936226167  
#> 10 q_1      23.8060827930971  
#> 11 median   25.307754002811   
#> 12 q_3      28.0977985873214  
#> 13 max      28.8754400537953  
#> 14 iqr      4.2917157942243   
#> 15 range    8.32974643117864  
#> 16 skewness -0.319302799272042
#> 17 kurtosis 2.04128796287026
#> 
#> ── bmi_current ──────────────────────────────────────────────────────────────
#> 
#> # A tibble: 17 × 2
#>    name     value            
#>    <chr>    <chr>            
#>  1 name     bmi_current      
#>  2 class    numeric          
#>  3 n        8                
#>  4 n_rm_na  8                
#>  5 n_na     0                
#>  6 mean     30.8498060929956 
#>  7 var      7.5472695581915  
#>  8 sd       2.7472294331183  
#>  9 min      26.609712545079  
#> 10 q_1      29.6349268398466 
#> 11 median   30.9331174887289 
#> 12 q_3      31.7091785122846 
#> 13 max      35.5998576005696 
#> 14 iqr      2.07425167243796 
#> 15 range    8.99014505549064 
#> 16 skewness 0.186586651959977
#> 17 kurtosis 2.57909194524704
#> 
#> ── family_income ────────────────────────────────────────────────────────────
#> 
#> # A tibble: 17 × 2
#>    name     value            
#>    <chr>    <chr>            
#>  1 name     family_income    
#>  2 class    numeric          
#>  3 n        8                
#>  4 n_rm_na  8                
#>  5 n_na     0                
#>  6 mean     4475             
#>  7 var      3019285.71428571 
#>  8 sd       1737.60919492437 
#>  9 min      2500             
#> 10 q_1      2950             
#> 11 median   4250             
#> 12 q_3      6000             
#> 13 max      7000             
#> 14 iqr      3050             
#> 15 range    4500             
#> 16 skewness 0.197867678604843
#> 17 kurtosis 1.43751388342507
#> 
#> ── gestations ───────────────────────────────────────────────────────────────
#> 
#> # A tibble: 17 × 2
#>    name     value            
#>    <chr>    <chr>            
#>  1 name     gestations       
#>  2 class    numeric          
#>  3 n        8                
#>  4 n_rm_na  8                
#>  5 n_na     0                
#>  6 mean     1.125            
#>  7 var      0.125            
#>  8 sd       0.353553390593274
#>  9 min      1                
#> 10 q_1      1                
#> 11 median   1                
#> 12 q_3      1                
#> 13 max      2                
#> 14 iqr      0                
#> 15 range    1                
#> 16 skewness 2.26778683805536 
#> 17 kurtosis 6.14285714285714
#> 
#> ── deliveries ───────────────────────────────────────────────────────────────
#> 
#> # A tibble: 17 × 2
#>    name     value     
#>    <chr>    <chr>     
#>  1 name     deliveries
#>  2 class    numeric   
#>  3 n        8         
#>  4 n_rm_na  8         
#>  5 n_na     0         
#>  6 mean     0         
#>  7 var      0         
#>  8 sd       0         
#>  9 min      0         
#> 10 q_1      0         
#> 11 median   0         
#> 12 q_3      0         
#> 13 max      0         
#> 14 iqr      0         
#> 15 range    0         
#> 16 skewness NaN       
#> 17 kurtosis NaN
#> 
#> ── abortions ────────────────────────────────────────────────────────────────
#> 
#> # A tibble: 17 × 2
#>    name     value            
#>    <chr>    <chr>            
#>  1 name     abortions        
#>  2 class    numeric          
#>  3 n        8                
#>  4 n_rm_na  8                
#>  5 n_na     0                
#>  6 mean     0.125            
#>  7 var      0.125            
#>  8 sd       0.353553390593274
#>  9 min      0                
#> 10 q_1      0                
#> 11 median   0                
#> 12 q_3      0                
#> 13 max      1                
#> 14 iqr      0                
#> 15 range    1                
#> 16 skewness 2.26778683805536 
#> 17 kurtosis 6.14285714285714
#> 
#> ── tts_fps_min ──────────────────────────────────────────────────────────────
#> 
#> # A tibble: 17 × 2
#>    name     value             
#>    <chr>    <chr>             
#>  1 name     tts_fps_min       
#>  2 class    numeric           
#>  3 n        8                 
#>  4 n_rm_na  8                 
#>  5 n_na     0                 
#>  6 mean     74.5              
#>  7 var      102.789342857143  
#>  8 sd       10.138507920653   
#>  9 min      53.74             
#> 10 q_1      72.3425           
#> 11 median   75.155            
#> 12 q_3      79.485            
#> 13 max      86.54             
#> 14 iqr      7.1425            
#> 15 range    32.8              
#> 16 skewness -0.912218602334361
#> 17 kurtosis 3.36529459988671
#> 
#> ── tts_fps_max ──────────────────────────────────────────────────────────────
#> 
#> # A tibble: 17 × 2
#>    name     value            
#>    <chr>    <chr>            
#>  1 name     tts_fps_max      
#>  2 class    numeric          
#>  3 n        8                
#>  4 n_rm_na  8                
#>  5 n_na     0                
#>  6 mean     91.5125          
#>  7 var      28.3536785714286 
#>  8 sd       5.32481723361737 
#>  9 min      80.35            
#> 10 q_1      90.9975          
#> 11 median   93.16            
#> 12 q_3      95.115           
#> 13 max      95.96            
#> 14 iqr      4.11749999999999 
#> 15 range    15.61            
#> 16 skewness -1.31503730665819
#> 17 kurtosis 3.4007954413498
#> 
#> ── tts_fps_mean ─────────────────────────────────────────────────────────────
#> 
#> # A tibble: 17 × 2
#>    name     value            
#>    <chr>    <chr>            
#>  1 name     tts_fps_mean     
#>  2 class    numeric          
#>  3 n        8                
#>  4 n_rm_na  8                
#>  5 n_na     0                
#>  6 mean     83.4575          
#>  7 var      55.3157071428572 
#>  8 sd       7.43745300105198 
#>  9 min      67.11            
#> 10 q_1      81.65            
#> 11 median   85.535           
#> 12 q_3      87.0875          
#> 13 max      90.53            
#> 14 iqr      5.4375           
#> 15 range    23.42            
#> 16 skewness -1.37332390658847
#> 17 kurtosis 4.05998838116319
#> 
#> ── tts_fps_sd ───────────────────────────────────────────────────────────────
#> 
#> # A tibble: 17 × 2
#>    name     value            
#>    <chr>    <chr>            
#>  1 name     tts_fps_sd       
#>  2 class    numeric          
#>  3 n        8                
#>  4 n_rm_na  8                
#>  5 n_na     0                
#>  6 mean     5.7525           
#>  7 var      5.60990714285714 
#>  8 sd       2.36852425422607 
#>  9 min      2.77             
#> 10 q_1      3.6325           
#> 11 median   5.74             
#> 12 q_3      7.39             
#> 13 max      9.2              
#> 14 iqr      3.7575           
#> 15 range    6.43             
#> 16 skewness 0.151697996588616
#> 17 kurtosis 1.61785884306129
#> 
#> ── awakenings_min ───────────────────────────────────────────────────────────
#> 
#> # A tibble: 17 × 2
#>    name     value              
#>    <chr>    <chr>              
#>  1 name     awakenings_min     
#>  2 class    numeric            
#>  3 n        8                  
#>  4 n_rm_na  8                  
#>  5 n_na     0                  
#>  6 mean     6.25               
#>  7 var      7.07142857142857   
#>  8 sd       2.65921578128376   
#>  9 min      3                  
#> 10 q_1      3.75               
#> 11 median   7                  
#> 12 q_3      8                  
#> 13 max      10                 
#> 14 iqr      4.25               
#> 15 range    7                  
#> 16 skewness -0.0913670741144738
#> 17 kurtosis 1.5497398224671
#> 
#> ── awakenings_max ───────────────────────────────────────────────────────────
#> 
#> # A tibble: 17 × 2
#>    name     value           
#>    <chr>    <chr>           
#>  1 name     awakenings_max  
#>  2 class    numeric         
#>  3 n        8               
#>  4 n_rm_na  8               
#>  5 n_na     0               
#>  6 mean     18.25           
#>  7 var      54.7857142857143
#>  8 sd       7.40173724781651
#>  9 min      10              
#> 10 q_1      13.75           
#> 11 median   17              
#> 12 q_3      20.25           
#> 13 max      34              
#> 14 iqr      6.5             
#> 15 range    24              
#> 16 skewness 1.17362467710077
#> 17 kurtosis 3.66796081517757
#> 
#> ── awakenings_mean ──────────────────────────────────────────────────────────
#> 
#> # A tibble: 17 × 2
#>    name     value             
#>    <chr>    <chr>             
#>  1 name     awakenings_mean   
#>  2 class    numeric           
#>  3 n        8                 
#>  4 n_rm_na  8                 
#>  5 n_na     0                 
#>  6 mean     11.995            
#>  7 var      18.2689428571429  
#>  8 sd       4.27421839137202  
#>  9 min      5.83              
#> 10 q_1      8.85              
#> 11 median   12.045            
#> 12 q_3      14.645            
#> 13 max      18                
#> 14 iqr      5.795             
#> 15 range    12.17             
#> 16 skewness 0.0385331807574622
#> 17 kurtosis 1.71423444789972
#> 
#> ── awakenings_sd ────────────────────────────────────────────────────────────
#> 
#> # A tibble: 17 × 2
#>    name     value           
#>    <chr>    <chr>           
#>  1 name     awakenings_sd   
#>  2 class    numeric         
#>  3 n        8               
#>  4 n_rm_na  8               
#>  5 n_na     0               
#>  6 mean     4               
#>  7 var      2.44614285714286
#>  8 sd       1.56401497983327
#>  9 min      2.27            
#> 10 q_1      3.2375          
#> 11 median   3.935           
#> 12 q_3      4.28            
#> 13 max      7.33            
#> 14 iqr      1.0425          
#> 15 range    5.06            
#> 16 skewness 1.11401515705523
#> 17 kurtosis 3.75987074989401
#> 
#> ── begin_dilation ───────────────────────────────────────────────────────────
#> 
#> # A tibble: 17 × 2
#>    name     value           
#>    <chr>    <chr>           
#>  1 name     begin_dilation  
#>  2 class    numeric         
#>  3 n        8               
#>  4 n_rm_na  8               
#>  5 n_na     0               
#>  6 mean     7               
#>  7 var      2               
#>  8 sd       1.4142135623731 
#>  9 min      5               
#> 10 q_1      6.75            
#> 11 median   7               
#> 12 q_3      7               
#> 13 max      10              
#> 14 iqr      0.25            
#> 15 range    5               
#> 16 skewness 0.97190864488087
#> 17 kurtosis 4
#> 
#> ── baby_weight ──────────────────────────────────────────────────────────────
#> 
#> # A tibble: 17 × 2
#>    name     value            
#>    <chr>    <chr>            
#>  1 name     baby_weight      
#>  2 class    numeric          
#>  3 n        8                
#>  4 n_rm_na  8                
#>  5 n_na     0                
#>  6 mean     3111.875         
#>  7 var      102135.267857143 
#>  8 sd       319.586088334807 
#>  9 min      2740             
#> 10 q_1      2942.5           
#> 11 median   3045             
#> 12 q_3      3246.25          
#> 13 max      3730             
#> 14 iqr      303.75           
#> 15 range    990              
#> 16 skewness 0.749084967381625
#> 17 kurtosis 2.81157038625064
#> 
#> ── baby_length ──────────────────────────────────────────────────────────────
#> 
#> # A tibble: 17 × 2
#>    name     value            
#>    <chr>    <chr>            
#>  1 name     baby_length      
#>  2 class    numeric          
#>  3 n        8                
#>  4 n_rm_na  8                
#>  5 n_na     0                
#>  6 mean     47.6875          
#>  7 var      3.85267857142857 
#>  8 sd       1.96282413155855 
#>  9 min      45.5             
#> 10 q_1      46               
#> 11 median   47.25            
#> 12 q_3      49.125           
#> 13 max      51               
#> 14 iqr      3.125            
#> 15 range    5.5              
#> 16 skewness 0.487767711973819
#> 17 kurtosis 1.90838904411972
#> 
#> ── baby_head_perimeter ──────────────────────────────────────────────────────
#> 
#> # A tibble: 17 × 2
#>    name     value              
#>    <chr>    <chr>              
#>  1 name     baby_head_perimeter
#>  2 class    numeric            
#>  3 n        8                  
#>  4 n_rm_na  8                  
#>  5 n_na     0                  
#>  6 mean     33.0875            
#>  7 var      1.48982142857143   
#>  8 sd       1.22058241367448   
#>  9 min      31.2               
#> 10 q_1      32.375             
#> 11 median   33                 
#> 12 q_3      34                 
#> 13 max      35                 
#> 14 iqr      1.625              
#> 15 range    3.8                
#> 16 skewness 0.0252030765863941 
#> 17 kurtosis 2.13136007107699
#> 
#> ── baby_thoracic_perimeter ──────────────────────────────────────────────────
#> 
#> # A tibble: 17 × 2
#>    name     value                  
#>    <chr>    <chr>                  
#>  1 name     baby_thoracic_perimeter
#>  2 class    numeric                
#>  3 n        8                      
#>  4 n_rm_na  8                      
#>  5 n_na     0                      
#>  6 mean     32.4375                
#>  7 var      1.60267857142857       
#>  8 sd       1.26596941962615       
#>  9 min      31                     
#> 10 q_1      31.75                  
#> 11 median   32                     
#> 12 q_3      33.5                   
#> 13 max      34.5                   
#> 14 iqr      1.75                   
#> 15 range    3.5                    
#> 16 skewness 0.374885383181507      
#> 17 kurtosis 1.86203552113966
#> 
#> ── baby_abdominal_perimeter ─────────────────────────────────────────────────
#> 
#> # A tibble: 17 × 2
#>    name     value                   
#>    <chr>    <chr>                   
#>  1 name     baby_abdominal_perimeter
#>  2 class    numeric                 
#>  3 n        8                       
#>  4 n_rm_na  8                       
#>  5 n_na     0                       
#>  6 mean     30.9375                 
#>  7 var      3.10267857142857        
#>  8 sd       1.76144218509396        
#>  9 min      28                      
#> 10 q_1      30                      
#> 11 median   30.75                   
#> 12 q_3      32.125                  
#> 13 max      33.5                    
#> 14 iqr      2.125                   
#> 15 range    5.5                     
#> 16 skewness -0.162098591955275      
#> 17 kurtosis 2.15776202059935
#> 
#> ── apgar_score_1_minute ─────────────────────────────────────────────────────
#> 
#> # A tibble: 17 × 2
#>    name     value               
#>    <chr>    <chr>               
#>  1 name     apgar_score_1_minute
#>  2 class    integer             
#>  3 n        8                   
#>  4 n_rm_na  8                   
#>  5 n_na     0                   
#>  6 mean     9                   
#>  7 var      0                   
#>  8 sd       0                   
#>  9 min      9                   
#> 10 q_1      9                   
#> 11 median   9                   
#> 12 q_3      9                   
#> 13 max      9                   
#> 14 iqr      0                   
#> 15 range    0                   
#> 16 skewness NaN                 
#> 17 kurtosis NaN
#> 
#> ── apgar_score_5_minute ─────────────────────────────────────────────────────
#> 
#> # A tibble: 17 × 2
#>    name     value               
#>    <chr>    <chr>               
#>  1 name     apgar_score_5_minute
#>  2 class    integer             
#>  3 n        8                   
#>  4 n_rm_na  8                   
#>  5 n_na     0                   
#>  6 mean     10                  
#>  7 var      0                   
#>  8 sd       0                   
#>  9 min      10                  
#> 10 q_1      10                  
#> 11 median   10                  
#> 12 q_3      10                  
#> 13 max      10                  
#> 14 iqr      0                   
#> 15 range    0                   
#> 16 skewness NaN                 
#> 17 kurtosis NaN
#> 
#> ── waso_prop ────────────────────────────────────────────────────────────────
#> 
#> # A tibble: 17 × 2
#>    name     value              
#>    <chr>    <chr>              
#>  1 name     waso_prop          
#>  2 class    numeric            
#>  3 n        8                  
#>  4 n_rm_na  8                  
#>  5 n_na     0                  
#>  6 mean     0.168102790198121  
#>  7 var      0.00585152973492928
#>  8 sd       0.0764952922403025 
#>  9 min      0.0961136648558295 
#> 10 q_1      0.119528251640701  
#> 11 median   0.151053758491258  
#> 12 q_3      0.189124096709851  
#> 13 max      0.333564975677554  
#> 14 iqr      0.0695958450691496 
#> 15 range    0.237451310821724  
#> 16 skewness 1.29749349469256   
#> 17 kurtosis 3.82545148977042

3.17 Get Descriptive Statistics for Linear Temporal Variables

Code
linear_temporal_vars <-
  data |>
  select(where(test_temporal)) |>
  select(!starts_with(c("his_", "hfs_"))) |>
  names()
for (i in linear_temporal_vars) {
  cli_h1(i)
  cat_line()

  data |>
    stats_summary(
      col = i,
      name = i,
      threshold = NULL
    ) |>
    print(n = Inf)

  cat_line()
}
#> 
#> ── labor_start ──────────────────────────────────────────────────────────────
#> 
#> # A tibble: 17 × 2
#>    name     value                                
#>    <chr>    <chr>                                
#>  1 name     labor_start                          
#>  2 class    POSIXct                              
#>  3 n        8                                    
#>  4 n_rm_na  8                                    
#>  5 n_na     0                                    
#>  6 mean     2024-01-15 08:28:07.5                
#>  7 var      410013741341250s (~12992551.44 years)
#>  8 sd       20248796.0467098s (~33.48 weeks)     
#>  9 min      2023-07-10 13:00:00                  
#> 10 q_1      2023-07-29 21:52:30                  
#> 11 median   2023-08-12 06:37:30                  
#> 12 q_3      2024-09-22 23:45:00                  
#> 13 max      2024-11-19 18:00:00                  
#> 14 iqr      36381150s (~1.15 years)              
#> 15 range    43045200s (~1.36 years)              
#> 16 skewness 0.534357534659942                    
#> 17 kurtosis 1.32651502851852
#> 
#> ── labor_duration ───────────────────────────────────────────────────────────
#> 
#> # A tibble: 17 × 2
#>    name     value              
#>    <chr>    <chr>              
#>  1 name     labor_duration     
#>  2 class    Duration           
#>  3 n        8                  
#>  4 n_rm_na  8                  
#>  5 n_na     0                  
#>  6 mean     16:13:45           
#>  7 var      349667:55:42.857143
#>  8 sd       09:51:19.635608    
#>  9 min      05:24:00           
#> 10 q_1      07:58:45           
#> 11 median   14:39:30           
#> 12 q_3      22:05:00           
#> 13 max      32:02:00           
#> 14 iqr      14:06:15           
#> 15 range    26:38:00           
#> 16 skewness 0.452083464933124  
#> 17 kurtosis 1.81255885134332
#> 
#> ── timestamp ────────────────────────────────────────────────────────────────
#> 
#> # A tibble: 17 × 2
#>    name     value                                
#>    <chr>    <chr>                                
#>  1 name     timestamp                            
#>  2 class    POSIXct                              
#>  3 n        8                                    
#>  4 n_rm_na  8                                    
#>  5 n_na     0                                    
#>  6 mean     2023-12-22 03:44:03.375              
#>  7 var      428938220369039s (~13592231.99 years)
#>  8 sd       20710823.7491665s (~34.24 weeks)     
#>  9 min      2023-05-26 20:55:52                  
#> 10 q_1      2023-07-02 23:27:32                  
#> 11 median   2023-07-21 00:49:20                  
#> 12 q_3      2024-09-06 12:44:44                  
#> 13 max      2024-11-03 00:04:31                  
#> 14 iqr      37286232s (~1.18 years)              
#> 15 range    45457719s (~1.44 years)              
#> 16 skewness 0.521032391062454                    
#> 17 kurtosis 1.32186244260741
#> 
#> ── birth_date ───────────────────────────────────────────────────────────────
#> 
#> # A tibble: 17 × 2
#>    name     value                             
#>    <chr>    <chr>                             
#>  1 name     birth_date                        
#>  2 class    Date                              
#>  3 n        8                                 
#>  4 n_rm_na  8                                 
#>  5 n_na     0                                 
#>  6 mean     1994-10-09                        
#>  7 var      302993487771.429s (~9601.28 years)
#>  8 sd       161798137.639008s (~5.13 years)   
#>  9 min      1989-02-23                        
#> 10 q_1      1989-12-16                        
#> 11 median   1994-08-01                        
#> 12 q_3      1998-09-28                        
#> 13 max      2001-07-25                        
#> 14 iqr      277192800s (~8.78 years)          
#> 15 range    391824000s (~12.42 years)         
#> 16 skewness 0.140349408142377                 
#> 17 kurtosis 1.43088903557437
#> 
#> ── fps_min ──────────────────────────────────────────────────────────────────
#> 
#> # A tibble: 17 × 2
#>    name     value             
#>    <chr>    <chr>             
#>  1 name     fps_min           
#>  2 class    hms               
#>  3 n        8                 
#>  4 n_rm_na  8                 
#>  5 n_na     0                 
#>  6 mean     05:05:37.5        
#>  7 var      6701:07:30        
#>  8 sd       01:21:51.623968   
#>  9 min      02:38:00          
#> 10 q_1      04:38:15          
#> 11 median   05:30:00          
#> 12 q_3      05:51:00          
#> 13 max      06:34:00          
#> 14 iqr      01:12:45          
#> 15 range    03:56:00          
#> 16 skewness -0.807015554385345
#> 17 kurtosis 2.3784213565397
#> 
#> ── fps_max ──────────────────────────────────────────────────────────────────
#> 
#> # A tibble: 17 × 2
#>    name     value             
#>    <chr>    <chr>             
#>  1 name     fps_max           
#>  2 class    hms               
#>  3 n        8                 
#>  4 n_rm_na  8                 
#>  5 n_na     0                 
#>  6 mean     10:21:07.5        
#>  7 var      12856:58:55.714286
#>  8 sd       01:53:23.317993   
#>  9 min      07:15:00          
#> 10 q_1      09:32:45          
#> 11 median   10:21:30          
#> 12 q_3      11:05:30          
#> 13 max      13:40:00          
#> 14 iqr      01:32:45          
#> 15 range    06:25:00          
#> 16 skewness 0.125908998749297 
#> 17 kurtosis 2.80346275862514
#> 
#> ── fps_mean ─────────────────────────────────────────────────────────────────
#> 
#> # A tibble: 17 × 2
#>    name     value             
#>    <chr>    <chr>             
#>  1 name     fps_mean          
#>  2 class    hms               
#>  3 n        8                 
#>  4 n_rm_na  8                 
#>  5 n_na     0                 
#>  6 mean     07:52:48.75       
#>  7 var      2340:08:45.642857 
#>  8 sd       00:48:22.503341   
#>  9 min      06:38:50          
#> 10 q_1      07:27:25          
#> 11 median   08:00:37          
#> 12 q_3      08:23:07.5        
#> 13 max      08:53:36          
#> 14 iqr      00:55:42.5        
#> 15 range    02:14:46          
#> 16 skewness -0.397228889694323
#> 17 kurtosis 1.94475325088574
#> 
#> ── fps_sd ───────────────────────────────────────────────────────────────────
#> 
#> # A tibble: 17 × 2
#>    name     value            
#>    <chr>    <chr>            
#>  1 name     fps_sd           
#>  2 class    hms              
#>  3 n        8                
#>  4 n_rm_na  8                
#>  5 n_na     0                
#>  6 mean     01:51:50.5       
#>  7 var      3131:23:14.285714
#>  8 sd       00:55:57.528002  
#>  9 min      00:39:54         
#> 10 q_1      01:13:51.5       
#> 11 median   01:32:40         
#> 12 q_3      02:45:17.5       
#> 13 max      03:10:58         
#> 14 iqr      01:31:26         
#> 15 range    02:31:04         
#> 16 skewness 0.250698331416651
#> 17 kurtosis 1.51901936936234
#> 
#> ── tts_min ──────────────────────────────────────────────────────────────────
#> 
#> # A tibble: 17 × 2
#>    name     value             
#>    <chr>    <chr>             
#>  1 name     tts_min           
#>  2 class    hms               
#>  3 n        8                 
#>  4 n_rm_na  8                 
#>  5 n_na     0                 
#>  6 mean     04:13:07.5        
#>  7 var      5566:41:47.142857 
#>  8 sd       01:14:36.617824   
#>  9 min      02:20:00          
#> 10 q_1      03:36:15          
#> 11 median   04:24:30          
#> 12 q_3      05:08:00          
#> 13 max      05:47:00          
#> 14 iqr      01:31:45          
#> 15 range    03:27:00          
#> 16 skewness -0.448405754630094
#> 17 kurtosis 1.88933901892605
#> 
#> ── tts_max ──────────────────────────────────────────────────────────────────
#> 
#> # A tibble: 17 × 2
#>    name     value            
#>    <chr>    <chr>            
#>  1 name     tts_max          
#>  2 class    hms              
#>  3 n        8                
#>  4 n_rm_na  8                
#>  5 n_na     0                
#>  6 mean     08:28:45         
#>  7 var      8089:04:17.142857
#>  8 sd       01:29:56.355913  
#>  9 min      06:23:00         
#> 10 q_1      07:18:30         
#> 11 median   08:33:00         
#> 12 q_3      09:58:30         
#> 13 max      10:09:00         
#> 14 iqr      02:40:00         
#> 15 range    03:46:00         
#> 16 skewness -0.1809805396766 
#> 17 kurtosis 1.53738757625808
#> 
#> ── tts_mean ─────────────────────────────────────────────────────────────────
#> 
#> # A tibble: 17 × 2
#>    name     value             
#>    <chr>    <chr>             
#>  1 name     tts_mean          
#>  2 class    hms               
#>  3 n        8                 
#>  4 n_rm_na  8                 
#>  5 n_na     0                 
#>  6 mean     06:32:43          
#>  7 var      2587:56:16.857143 
#>  8 sd       00:50:52.306809   
#>  9 min      05:19:00          
#> 10 q_1      05:56:54          
#> 11 median   06:32:33.5        
#> 12 q_3      07:04:12.75       
#> 13 max      07:46:24          
#> 14 iqr      01:07:18.75       
#> 15 range    02:27:24          
#> 16 skewness 0.0532579260629448
#> 17 kurtosis 1.79178928590564
#> 
#> ── tts_sd ───────────────────────────────────────────────────────────────────
#> 
#> # A tibble: 17 × 2
#>    name     value            
#>    <chr>    <chr>            
#>  1 name     tts_sd           
#>  2 class    hms              
#>  3 n        8                
#>  4 n_rm_na  8                
#>  5 n_na     0                
#>  6 mean     01:30:59.375     
#>  7 var      2375:34:32.839286
#>  8 sd       00:48:44.39273   
#>  9 min      00:33:49         
#> 10 q_1      00:52:24.5       
#> 11 median   01:18:01.5       
#> 12 q_3      02:11:43         
#> 13 max      02:40:19         
#> 14 iqr      01:19:18.5       
#> 15 range    02:06:30         
#> 16 skewness 0.312787530962688
#> 17 kurtosis 1.51447723606012
#> 
#> ── waso_min ─────────────────────────────────────────────────────────────────
#> 
#> # A tibble: 17 × 2
#>    name     value           
#>    <chr>    <chr>           
#>  1 name     waso_min        
#>  2 class    hms             
#>  3 n        8               
#>  4 n_rm_na  8               
#>  5 n_na     0               
#>  6 mean     00:36:00.875    
#>  7 var      543:22:06.125   
#>  8 sd       00:23:18.615789 
#>  9 min      00:17:07        
#> 10 q_1      00:23:15        
#> 11 median   00:28:00        
#> 12 q_3      00:40:45        
#> 13 max      01:29:00        
#> 14 iqr      00:17:30        
#> 15 range    01:11:53        
#> 16 skewness 1.61807914086609
#> 17 kurtosis 4.50135913156483
#> 
#> ── waso_max ─────────────────────────────────────────────────────────────────
#> 
#> # A tibble: 17 × 2
#>    name     value            
#>    <chr>    <chr>            
#>  1 name     waso_max         
#>  2 class    hms              
#>  3 n        8                
#>  4 n_rm_na  8                
#>  5 n_na     0                
#>  6 mean     02:27:00         
#>  7 var      3714:51:25.714286
#>  8 sd       01:00:56.977675  
#>  9 min      01:07:00         
#> 10 q_1      01:52:30         
#> 11 median   02:17:30         
#> 12 q_3      02:50:30         
#> 13 max      04:08:00         
#> 14 iqr      00:58:00         
#> 15 range    03:01:00         
#> 16 skewness 0.487270039392007
#> 17 kurtosis 2.1607993715354
#> 
#> ── waso_mean ────────────────────────────────────────────────────────────────
#> 
#> # A tibble: 17 × 2
#>    name     value            
#>    <chr>    <chr>            
#>  1 name     waso_mean        
#>  2 class    hms              
#>  3 n        8                
#>  4 n_rm_na  8                
#>  5 n_na     0                
#>  6 mean     01:20:02         
#>  7 var      1462:44:32.857143
#>  8 sd       00:38:14.748975  
#>  9 min      00:38:20         
#> 10 q_1      00:59:51.5       
#> 11 median   01:09:14.5       
#> 12 q_3      01:30:06.25      
#> 13 max      02:40:00         
#> 14 iqr      00:30:14.75      
#> 15 range    02:01:40         
#> 16 skewness 1.1471812063833  
#> 17 kurtosis 3.45485377016903
#> 
#> ── waso_sd ──────────────────────────────────────────────────────────────────
#> 
#> # A tibble: 17 × 2
#>    name     value            
#>    <chr>    <chr>            
#>  1 name     waso_sd          
#>  2 class    hms              
#>  3 n        8                
#>  4 n_rm_na  8                
#>  5 n_na     0                
#>  6 mean     00:38:27.125     
#>  7 var      265:26:41.267857 
#>  8 sd       00:16:17.548601  
#>  9 min      00:17:07         
#> 10 q_1      00:25:24.75      
#> 11 median   00:36:59         
#> 12 q_3      00:51:10.75      
#> 13 max      01:00:18         
#> 14 iqr      00:25:46         
#> 15 range    00:43:11         
#> 16 skewness 0.150643192991655
#> 17 kurtosis 1.63028665575721
#> 
#> ── partograph_begin ─────────────────────────────────────────────────────────
#> 
#> # A tibble: 17 × 2
#>    name     value                                
#>    <chr>    <chr>                                
#>  1 name     partograph_begin                     
#>  2 class    POSIXct                              
#>  3 n        8                                    
#>  4 n_rm_na  8                                    
#>  5 n_na     0                                    
#>  6 mean     2023-11-18 15:10:00                  
#>  7 var      376809873711429s (~11940384.37 years)
#>  8 sd       19411591.2204906s (~32.1 weeks)      
#>  9 min      2023-06-08 14:40:00                  
#> 10 q_1      2023-07-20 11:22:30                  
#> 11 median   2023-07-30 16:07:30                  
#> 12 q_3      2023-12-09 01:30:00                  
#> 13 max      2024-11-20 05:15:00                  
#> 14 iqr      12233250s (~20.23 weeks)             
#> 15 range    45844500s (~1.45 years)              
#> 16 skewness 1.12606003073144                     
#> 17 kurtosis 2.31508604846515
#> 
#> ── baby_birth ───────────────────────────────────────────────────────────────
#> 
#> # A tibble: 17 × 2
#>    name     value                                
#>    <chr>    <chr>                                
#>  1 name     baby_birth                           
#>  2 class    POSIXct                              
#>  3 n        8                                    
#>  4 n_rm_na  8                                    
#>  5 n_na     0                                    
#>  6 mean     2023-11-18 18:02:07.5                
#>  7 var      376721366481707s (~11937579.74 years)
#>  8 sd       19409311.3345556s (~32.09 weeks)     
#>  9 min      2023-06-08 17:54:00                  
#> 10 q_1      2023-07-20 15:13:15                  
#> 11 median   2023-07-30 19:00:30                  
#> 12 q_3      2023-12-09 04:33:15                  
#> 13 max      2024-11-20 06:02:00                  
#> 14 iqr      12230400s (~20.22 weeks)             
#> 15 range    45835680s (~1.45 years)              
#> 16 skewness 1.12604472970084                     
#> 17 kurtosis 2.31504841634914

3.18 Get Descriptive Statistics for Circular Temporal Variables

Code
circular_temporal_vars <-
  data |>
  select(starts_with(c("his_", "hfs_"))) |>
  names()
for (i in circular_temporal_vars) {
  cli_h1(i)
  cat_line()

  if (str_detect(i, "^hfs_")) {
    threshold <- hms::parse_hms("18:00:00")
  } else {
    threshold <- hms::parse_hms("12:00:00")
  }

  data |>
    stats_summary(
      col = i,
      name = i,
      threshold = threshold
    ) |>
    print(n = Inf)

  cat_line()
}
#> 
#> ── his_min ──────────────────────────────────────────────────────────────────
#> 
#> # A tibble: 17 × 2
#>    name     value              
#>    <chr>    <chr>              
#>  1 name     his_min            
#>  2 class    hms                
#>  3 n        8                  
#>  4 n_rm_na  8                  
#>  5 n_na     0                  
#>  6 mean     23:36:45.875       
#>  7 var      07:23:13.553571    
#>  8 sd       01:05:25.021472    
#>  9 min      21:49:11           
#> 10 q_1      23:11:55.25        
#> 11 median   23:47:34           
#> 12 q_3      00:02:26.5         
#> 13 max      01:26:15           
#> 14 iqr      00:50:31.25        
#> 15 range    03:37:04           
#> 16 skewness -0.0941746254793913
#> 17 kurtosis 2.65637132210873
#> 
#> ── his_max ──────────────────────────────────────────────────────────────────
#> 
#> # A tibble: 17 × 2
#>    name     value             
#>    <chr>    <chr>             
#>  1 name     his_max           
#>  2 class    hms               
#>  3 n        8                 
#>  4 n_rm_na  8                 
#>  5 n_na     0                 
#>  6 mean     02:39:38.375      
#>  7 var      10727:17:15.696429
#>  8 sd       01:43:34.357223   
#>  9 min      00:33:52          
#> 10 q_1      01:31:17          
#> 11 median   02:18:17          
#> 12 q_3      03:41:24.25       
#> 13 max      05:55:44          
#> 14 iqr      02:10:07.25       
#> 15 range    05:21:52          
#> 16 skewness 0.68968404084239  
#> 17 kurtosis 2.61116599640305
#> 
#> ── his_mean ─────────────────────────────────────────────────────────────────
#> 
#> # A tibble: 17 × 2
#>    name     value             
#>    <chr>    <chr>             
#>  1 name     his_mean          
#>  2 class    hms               
#>  3 n        8                 
#>  4 n_rm_na  8                 
#>  5 n_na     0                 
#>  6 mean     00:52:34.375      
#>  7 var      07:45:44.267857   
#>  8 sd       00:53:57.644864   
#>  9 min      23:20:21          
#> 10 q_1      00:30:18.25       
#> 11 median   00:56:13          
#> 12 q_3      01:17:25          
#> 13 max      02:18:45          
#> 14 iqr      00:47:06.75       
#> 15 range    02:58:24          
#> 16 skewness -0.161206833811361
#> 17 kurtosis 2.56481175382879
#> 
#> ── his_sd ───────────────────────────────────────────────────────────────────
#> 
#> # A tibble: 17 × 2
#>    name     value            
#>    <chr>    <chr>            
#>  1 name     his_sd           
#>  2 class    hms              
#>  3 n        8                
#>  4 n_rm_na  8                
#>  5 n_na     0                
#>  6 mean     01:00:37.25      
#>  7 var      1857:17:47.928571
#>  8 sd       00:43:05.78188   
#>  9 min      00:19:45         
#> 10 q_1      00:38:27.5       
#> 11 median   00:49:16.5       
#> 12 q_3      01:03:19.25      
#> 13 max      02:40:43         
#> 14 iqr      00:24:51.75      
#> 15 range    02:20:58         
#> 16 skewness 1.73519232182682 
#> 17 kurtosis 4.90873114019185
#> 
#> ── hfs_min ──────────────────────────────────────────────────────────────────
#> 
#> # A tibble: 17 × 2
#>    name     value              
#>    <chr>    <chr>              
#>  1 name     hfs_min            
#>  2 class    hms                
#>  3 n        8                  
#>  4 n_rm_na  8                  
#>  5 n_na     0                  
#>  6 mean     05:51:00.875       
#>  7 var      10299:33:17.839286 
#>  8 sd       01:41:29.203383    
#>  9 min      03:28:52           
#> 10 q_1      04:43:34.25        
#> 11 median   05:40:17           
#> 12 q_3      07:20:48           
#> 13 max      08:02:52           
#> 14 iqr      02:37:13.75        
#> 15 range    04:34:00           
#> 16 skewness -0.0119700147728913
#> 17 kurtosis 1.62611241959334
#> 
#> ── hfs_max ──────────────────────────────────────────────────────────────────
#> 
#> # A tibble: 17 × 2
#>    name     value           
#>    <chr>    <chr>           
#>  1 name     hfs_max         
#>  2 class    hms             
#>  3 n        8               
#>  4 n_rm_na  8               
#>  5 n_na     0               
#>  6 mean     10:57:08.375    
#>  7 var      14418:13:07.125 
#>  8 sd       02:00:04.553222 
#>  9 min      09:13:18        
#> 10 q_1      10:08:41.75     
#> 11 median   10:33:00        
#> 12 q_3      10:54:42.25     
#> 13 max      15:37:15        
#> 14 iqr      00:46:00.5      
#> 15 range    06:23:57        
#> 16 skewness 1.75412979176181
#> 17 kurtosis 4.99700382711105
#> 
#> ── hfs_mean ─────────────────────────────────────────────────────────────────
#> 
#> # A tibble: 17 × 2
#>    name     value            
#>    <chr>    <chr>            
#>  1 name     hfs_mean         
#>  2 class    hms              
#>  3 n        8                
#>  4 n_rm_na  8                
#>  5 n_na     0                
#>  6 mean     08:46:39         
#>  7 var      5253:23:04.857143
#>  8 sd       01:12:28.81419   
#>  9 min      07:30:20         
#> 10 q_1      07:47:46.25      
#> 11 median   08:45:12.5       
#> 12 q_3      09:09:45.5       
#> 13 max      11:10:40         
#> 14 iqr      01:21:59.25      
#> 15 range    03:40:20         
#> 16 skewness 0.852450925906291
#> 17 kurtosis 2.96104725774348
#> 
#> ── hfs_sd ───────────────────────────────────────────────────────────────────
#> 
#> # A tibble: 17 × 2
#>    name     value            
#>    <chr>    <chr>            
#>  1 name     hfs_sd           
#>  2 class    hms              
#>  3 n        8                
#>  4 n_rm_na  8                
#>  5 n_na     0                
#>  6 mean     01:43:34.75      
#>  7 var      1673:03:55.928571
#>  8 sd       00:40:54.187427  
#>  9 min      00:55:05         
#> 10 q_1      01:12:37.5       
#> 11 median   01:30:56.5       
#> 12 q_3      02:16:37.25      
#> 13 max      02:48:43         
#> 14 iqr      01:03:59.75      
#> 15 range    01:53:38         
#> 16 skewness 0.429709274539085
#> 17 kurtosis 1.734846331192

3.19 Plot Distributions

3.19.1 fps_mean

Code
data |>
  plotr:::plot_dist(
    col = "fps_mean",
    line_color = "red"
  )

Code
data |>
  plotr:::plot_box_plot(
    col = "fps_mean",
    line_color = "red"
  )

3.19.2 bmi_current

Code
data |>
  plotr:::plot_dist(
    col = "bmi_current",
    line_color = "red"
  )

Code
data |>
  plotr:::plot_box_plot(
    col = "bmi_current",
    line_color = "red"
  )

3.20 Plot Correlation Matrices

Code
data |>
  plotr:::plot_ggally(
    cols = c(
      "labor_duration", "age", "family_income", "bmi_before"
    ),
    labels = c(
      "Duração do parto", "Idade", "Renda familiar", "IMC"
    )
  )

Code
data |>
  plotr:::plot_ggally(
    cols = c(
      "labor_duration", "gestations", "deliveries", "abortions"
    ),
    labels = c(
      "Duração do parto", "# Gestações", "# Partos", "# Abortos"
    )
  )
#> Warning in cor(x, y): the standard deviation is zero
#> Warning in cor(x, y): the standard deviation is zero
#> Warning in cor(x, y): the standard deviation is zero

Code
data |>
  plotr:::plot_ggally(
    cols = c(
      "labor_duration", "baby_weight", "baby_length",
      "baby_head_perimeter",  "baby_thoracic_perimeter",
      "baby_abdominal_perimeter"
    ),
    labels = c(
      "Duração do parto", "Peso do bebê", "Comprimento do bebê",
      "Per. da cabeça do bebê", "Per. torácico do bebê", "Per. abdominal do bebê"
    )
  )

Code
data |>
  plotr:::plot_ggally(
    cols = c("labor_duration", "fps_mean", "waso_mean", "awakenings_mean"),
    labels = c("Duração do parto", "FPS", "WASO", "Desp.")
  )

Code
data |>
  mutate(
    his_mean = his_mean |> link_to_timeline(),
    hfs_mean = hfs_mean |> link_to_timeline()
  ) |>
  plotr:::plot_ggally(
    cols = c(
      "his_mean", "hfs_mean", "fps_mean", "tts_mean", "tts_fps_mean",
       "waso_mean", "awakenings_mean"
    ),
    labels = c(
      "HIS", "HFS", "FPS", "TTS", "TTS/FPS", "WASO", "Desp."
    ),
    brandr = FALSE
  )

Code
data |>
  plotr:::plot_ggally(
    cols = c(
      "fps_mean", "tts_mean", "waso_mean", "awakenings_mean",
      "age", "family_income", "bmi_before"
    ),
    labels = c(
      "FPS", "TTS", "WASO", "Desp.", "Idade", "Renda", "IMC"
    )
  )