Tai Chi and Mobility

Load the Libraries and Data

setwd("/Users/kimberlykendal/Math217 Project")
library(tidyverse)
── Attaching packages ─────────────────────────────────────── tidyverse 1.3.2 ──
✔ ggplot2 3.4.0      ✔ purrr   1.0.1 
✔ tibble  3.1.8      ✔ dplyr   1.0.10
✔ tidyr   1.3.0      ✔ stringr 1.5.0 
✔ readr   2.1.3      ✔ forcats 0.5.2 
── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
✖ dplyr::filter() masks stats::filter()
✖ dplyr::lag()    masks stats::lag()
TaiChi <- read_csv ("EMG_subset_2.csv")
New names:
Rows: 124 Columns: 25
── Column specification
──────────────────────────────────────────────────────── Delimiter: "," chr
(7): Subj ID, Gender, Visit, Group, Random, Hallway length (Long, Short... dbl
(15): Age, Height, Activity, Education, BMI, TrailA, TrailB, Trail_BARat... lgl
(3): ...22, ...23, ...24
ℹ Use `spec()` to retrieve the full column specification for this data. ℹ
Specify the column types or set `show_col_types = FALSE` to quiet this message.
• `` -> `...22`
• `` -> `...23`
• `` -> `...24`

View the Data

glimpse(TaiChi)
Rows: 124
Columns: 25
$ `Subj ID`                                               <chr> "S0088", "S008…
$ Gender                                                  <chr> "M", "M", "F",…
$ Age                                                     <dbl> 63, 63, 78, 78…
$ Visit                                                   <chr> "V1", "V3", "V…
$ Group                                                   <chr> "Tai-Chi", "Ta…
$ Random                                                  <chr> "Random", "Ran…
$ Height                                                  <dbl> 65.0, 65.0, 59…
$ Activity                                                <dbl> 3, 3, 1, 1, 3,…
$ Education                                               <dbl> 18, 18, 18, 18…
$ BMI                                                     <dbl> 26.28970, 26.2…
$ `Hallway length (Long, Short)`                          <chr> "L", "L", "L",…
$ TrailA                                                  <dbl> 28.30, 26.20, …
$ TrailB                                                  <dbl> 71.10, 38.90, …
$ Trail_BARatio                                           <dbl> 2.512367, 1.48…
$ Animals_C                                               <dbl> 21, 19, 19, 15…
$ Supermarket_C                                           <dbl> 20, 26, 18, 14…
$ Category_T                                              <dbl> 41, 45, 37, 29…
$ laps                                                    <dbl> 7, 5, 6, 6, 5,…
$ `Enter the distance walked on the last incomplete lap:` <dbl> 82.63, 39.10, …
$ `Distance walked:`                                      <dbl> 754.28, 518.85…
$ Time                                                    <dbl> NA, 598.6833, …
$ ...22                                                   <lgl> NA, NA, NA, NA…
$ ...23                                                   <lgl> NA, NA, NA, NA…
$ ...24                                                   <lgl> NA, NA, NA, NA…
$ `Describe activity level for the previous month`        <chr> "3. 1+ hr per …
head(TaiChi)
# A tibble: 6 × 25
  `Subj ID` Gender   Age Visit Group Random Height Activ…¹ Educa…²   BMI Hallw…³
  <chr>     <chr>  <dbl> <chr> <chr> <chr>   <dbl>   <dbl>   <dbl> <dbl> <chr>  
1 S0088     M         63 V1    Tai-… Random     65       3      18  26.3 L      
2 S0088     M         63 V3    Tai-… Random     65       3      18  26.3 L      
3 S0172     F         78 V1    Tai-… Random     59       1      18  25.2 L      
4 S0172     F         78 V3    Tai-… Random     59       1      18  25.2 L      
5 S0455     M         71 V1    Cont… Random     67       3      18  20.4 L      
6 S0455     M         71 V3    Cont… Random     67       3      18  20.4 L      
# … with 14 more variables: TrailA <dbl>, TrailB <dbl>, Trail_BARatio <dbl>,
#   Animals_C <dbl>, Supermarket_C <dbl>, Category_T <dbl>, laps <dbl>,
#   `Enter the distance walked on the last incomplete lap:` <dbl>,
#   `Distance walked:` <dbl>, Time <dbl>, ...22 <lgl>, ...23 <lgl>,
#   ...24 <lgl>, `Describe activity level for the previous month` <chr>, and
#   abbreviated variable names ¹​Activity, ²​Education,
#   ³​`Hallway length (Long, Short)`

Filter The Data

Remove extra columns

TaiChi2 <- TaiChi %>%
select(-Height, -Activity, -Education, -`Hallway length (Long, Short)`, -TrailA, -TrailB, -Trail_BARatio, -Animals_C, -Supermarket_C, -Category_T, -...22, -...23, -...24)

First study: Control, Random, Male, Visit 1

TaiChi3 <- TaiChi2 %>%
  filter(Group == "Control") %>%
  filter(Random  == "Random") %>%
  filter(Gender == "M") %>%
  filter(Visit == "V1")
  
head(TaiChi3)
# A tibble: 6 × 12
  `Subj ID` Gender   Age Visit Group   Random   BMI  laps Enter …¹ Dista…²  Time
  <chr>     <chr>  <dbl> <chr> <chr>   <chr>  <dbl> <dbl>    <dbl>   <dbl> <dbl>
1 S0455     M         71 V1    Control Random  20.4     5    93.1     573.  599.
2 S0573     M         58 V1    Control Random  22.2    15    27.4     709.  599.
3 S0615     M         59 V1    Control Random  30.8     7    79.6     751.  600.
4 S0643     M         76 V1    Control Random  21.3     8     5.22    773.  599.
5 S0673     M         69 V1    Control Random  24.1    14    45.4     682.  598.
6 S0674     M         64 V1    Control Random  26.3    14    35.3     671.  598.
# … with 1 more variable:
#   `Describe activity level for the previous month` <chr>, and abbreviated
#   variable names ¹​`Enter the distance walked on the last incomplete lap:`,
#   ²​`Distance walked:`

Second study: Control, Random, Male, Visit 3

TaiChi4 <- TaiChi2 %>%
filter(Group == "Control") %>%
  filter(Random == "Random") %>%
  filter(Gender == "M") %>%
  filter(Visit == "V3")
  
head(TaiChi4)
# A tibble: 6 × 12
  `Subj ID` Gender   Age Visit Group   Random   BMI  laps Enter …¹ Dista…²  Time
  <chr>     <chr>  <dbl> <chr> <chr>   <chr>  <dbl> <dbl>    <dbl>   <dbl> <dbl>
1 S0455     M         71 V3    Control Random  20.4     5     0       480.  599.
2 S0573     M         58 V3    Control Random  22.2    16     9.68    737.  599.
3 S0615     M         59 V3    Control Random  30.8     7    75.8     747.  599.
4 S0643     M         76 V3    Control Random  21.3     8    26.6     794.  598.
5 S0673     M         69 V3    Control Random  24.1    15    33.9     716.  599.
6 S0674     M         64 V3    Control Random  26.3    15     8.23    690.  599.
# … with 1 more variable:
#   `Describe activity level for the previous month` <chr>, and abbreviated
#   variable names ¹​`Enter the distance walked on the last incomplete lap:`,
#   ²​`Distance walked:`

Third study: Control, Female, 1st visit, Random

TaiChi5 <- TaiChi2 %>%
  filter(Group == "Control") %>%
  filter(Gender == "F") %>%
  filter(Visit == "V1") %>%
  filter(Random == "Random")

head(TaiChi5)
# A tibble: 6 × 12
  `Subj ID` Gender   Age Visit Group   Random   BMI  laps Enter …¹ Dista…²  Time
  <chr>     <chr>  <dbl> <chr> <chr>   <chr>  <dbl> <dbl>    <dbl>   <dbl> <dbl>
1 S0609     F         59 V1    Control Random  30.0     7     3.74    675.  599.
2 S0618     F         69 V1    Control Random  29.5     7    NA        NA   599.
3 S0640     F         65 V1    Control Random  27.0     7    63.0     735.  599.
4 S0642     F         65 V1    Control Random  29.3     8     5.22    773.  598.
5 S0645     F         56 V1    Control Random  25.8     7    55.1     727.  599.
6 S0646     F         70 V1    Control Random  17.6     5    93.1     573.   NA 
# … with 1 more variable:
#   `Describe activity level for the previous month` <chr>, and abbreviated
#   variable names ¹​`Enter the distance walked on the last incomplete lap:`,
#   ²​`Distance walked:`

Fourth study: Control, Female, 3rd visit, Random

TaiChi6 <- TaiChi2 %>%
  filter(Group == "Control") %>%
  filter(Gender == "F") %>%
  filter(Visit == "V3") %>%
  filter(Random == "Random")

head(TaiChi6)
# A tibble: 6 × 12
  `Subj ID` Gender   Age Visit Group   Random   BMI  laps Enter …¹ Dista…²  Time
  <chr>     <chr>  <dbl> <chr> <chr>   <chr>  <dbl> <dbl>    <dbl>   <dbl> <dbl>
1 S0609     F         59 V3    Control Random  30.0     6    37.0     613.  599.
2 S0618     F         69 V3    Control Random  29.5     6    96.0     672.  599.
3 S0640     F         65 V3    Control Random  27.0     8    53.9     822.  599.
4 S0642     F         65 V3    Control Random  29.3     8    24.4     792.  599.
5 S0645     F         56 V3    Control Random  25.8    13     6.34    597.  599.
6 S0646     F         70 V3    Control Random  17.6    10    15.4     470.  599.
# … with 1 more variable:
#   `Describe activity level for the previous month` <chr>, and abbreviated
#   variable names ¹​`Enter the distance walked on the last incomplete lap:`,
#   ²​`Distance walked:`

summary of the data values: laps walked

summary(TaiChi3$laps)
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
   5.00    7.75   13.00   11.25   14.25   15.00 
mean(TaiChi3$laps)
[1] 11.25
summary(TaiChi4$laps)
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
   5.00    7.75   15.00   12.38   16.00   17.00 
mean(TaiChi4$laps)
[1] 12.375
summary(TaiChi5$laps)
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
  5.000   7.000   7.000   8.833  11.750  15.000 
mean(TaiChi5$laps)
[1] 8.833333
summary(TaiChi6$laps)
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
   6.00    9.25   12.50   11.72   14.00   16.00 
mean(TaiChi6$laps)
[1] 11.72222
TaiChi_means <- c(mean(TaiChi3$laps), mean(TaiChi4$laps), mean(TaiChi5$laps), mean(TaiChi6$laps))

view the distributions of laps

histogram

hist(TaiChi_means)

ggplot

male_laps1 <-c(5, 15, 7, 8, 14, 14, 12, 15)
male_laps3 <-c(5, 16, 7, 8, 15, 15, 17, 16)
boxplot(male_laps1 ~ male_laps3,
        col='steelblue',
        main='Laps by Males, 1st visit vs 3rd',
        xlab='Laps',
        ylab='Gender')

female_laps1 <- c(7, 7, 7, 8, 7, 5, 7, 5, 7, 7, 6, 7, 14, 11, 15, 15, 12, 12)
female_laps3 <- c(6, 6, 8, 8, 13, 10, 14, 9, 16, 13, 12, 14, 15, 12, 16, 15, 13, 11)
boxplot(female_laps1 ~ female_laps3,
        col='Red',
        main='Laps by females, 1st visit vs 3rd',
        xlab='Laps',
        ylab='Gender')

library(ggplot2)