Each tab can be clicked on to show off related statistics. All statistics have been computed using RStudio and all data was collected on VevoLab VevoStrain 2.0.
| Variable_Name | Definition | Unit |
|---|---|---|
| mouse_ID | Label for each lab mouse | NA |
| study_type | What timepoint or unique study type | NA |
| true_mitral | 4DUS measured mitral valve area | mm |
| calc_mitral | Rounded mitral valve area used in VevoLab calculation | mm |
| true_aortic | 4DUS measured aortic valve area | mm |
| calc_aortic | Rounded aortic valve area used in VevoLab calculation | mm |
| sys_pk | Peak HDF value during systole | % |
| ewave_long_rms | Longitudinal RMS HDF value during diastolic E-wave | % |
| ewave_ratio_rms | Longitudinal to transverse RMS HDF value during diastolic E-wave | % |
| ewave_angle | Average HDF angle during diastolic E-wave | ° |
| cycle_length | Length of the entire heartbeat cycle | ms |
| cycle_long_rms | Longitudinal RMS HDF value during the entire heartbeat | % |
| cycle_trans_rms | Transverse RMS HDF value during the entire heartbeat | % |
| cycle_ratio_rms | Longitudinal to transverse RMS HDF value over the entire heartbeat | % |
| cycle_angle | Average HDF angle over the entire heartbeat | ° |
| sys_length | Length of systole | ms |
| sys_im_length | Length of systolic impulse | ms |
| sys_im_angle | Average HDF angle during systolic impulse | ° |
| sys_im_AUC | Area under the longitudinal curve during systolic impulse | % |
| sys_im_long_rms | Longitudinal RMS HDF value during the systolic impulse | % |
| sys_im_trans_rms | Transverse RMS HDF value during the systolic impulse | % |
| isys_im_length | Length of initial portion of systolic impulse | ms |
| isys_im_long_rms | Longitudinal RMS HDF value during the initial systolic impulse | % |
| dsys_im_length | Length of descending portion of systolic impulse | ms |
| dsys_im_long_rms | Longitudinal RMS HDF value during the descending systolic impulse | % |
| lsys_long_rms | Longitudinal RMS HDF value during the late systole period | % |
| myo_GCS | Myocardial global circumferential strain rate | % |
| myo_GLS | Myocardial global longitudinal strain rate | % |
| endo_GCS | Endocardial global circumferential strain rate | % |
| endo_GLS | Endocardial global longitudinal strain rate | % |
| LV_EF | LV Ejection fraction | % |
| pslax_avg_strain_rate | Parasternal long axis LV average strain rate | d%/dt |
| LV_mass_cor | LV mass corrected mass | mg |
| LVAW_sys | LV anterior wall average thickness during systole | mm |
| LVAW_dias | LV anterior wall average thickness during diastole | mm |
| LVPW_sys | LV posterior wall average thickness during systole | mm |
| LVPW_dias | LV posterior wall average thickness during diastole | mm |
| sax_avg_strain | LV short axis average strain | % |
| LA_EF | LA ejection fraction | % |
| LA_edv | LA end diastolic volume | uL |
| LA_esv | LA end systolic volume | uL |
| LA_strain_mean | LA mean strain | % |
| Ao_pk_vel | Peak aoritc blood flow velocity | mm/s |
| mitral_EA_ratio | Mitral valve blood flow velocity diastolic E-wave to A-wave ratio | NA |
| sys_length_norm | Normalized systole length as a ratio of R to R | % |
| sys_im_length_norm | Normalized systolic impulse length as a ratio of R to R | % |
| isys_im_length_norm | Normalized initial systolic impulse length as a ratio of R to R | % |
| dsys_im_length_norm | Normalized descending systolic impulse length as a ratio of R to R | % |
| isys_dsys_length_ratio | Ratio of initial systolic impulse length to descending systolic impulse length | % |
| isys_dsys_long_ratio | Ratio of initial systolic impulse longitudinal HDF to descending systolic impulse longitudinal HDF | % |
The following metrics had one or more groups that were non-normal: LVPW_sys, LVAW_sys, sys_im_trans_rms, cycle_length, cycle_ratio_rms, lsys_long_rms, mitral_EA_ratio, LVPW_dias, LVAW_dias, LV_mass_cor.
Based on what is seen in the QQ plots, a few notable observations can be had. Full cycle metrics seemed to have higher variance even when they were normally distributed suggesting that there may be more accurate comparisons found by looking at specific sections of the cycle or by correcting in some way. Systolic length varied in deTAC likely because measuring precisely was much harder in deTAC due to the sometimes immense changes to HDF curves where the systolic impulse sometimes ended up including most or all of the systolic-diastolic transition period in the definition of how I measured systolic impulse. This also contributed to variation in systolic impulse Area Under Curve (AUC) and angle. Late systolic longitudinal rms varied in TAC as well because of this since late systolic longitudinal RMS is the interval between the end of systolic impulse and the end of systole.
The initial systolic impulse longitudinal RMS seemed to be noticeably different between study groups just from QQ plot observations.
## === Testing sys_pk ===
## Group: baseline - Shapiro-Wilk p-value: 0.5485348
## Group: tac - Shapiro-Wilk p-value: 0.3241892
## Group: detac - Shapiro-Wilk p-value: 0.03525184
## At least one group is non-normal. Performing Kruskal-Wallis test.
##
## Kruskal-Wallis rank sum test
##
## data: column_data by study_type
## Kruskal-Wallis chi-squared = 15.365, df = 2, p-value = 0.0004608
##
##
## === Testing ewave_long_rms ===
## Group: baseline - Shapiro-Wilk p-value: 0.2096548
## Group: tac - Shapiro-Wilk p-value: 0.3301504
## Group: detac - Shapiro-Wilk p-value: 0.2648393
## All groups appear normal. Performing ANOVA.
## Df Sum Sq Mean Sq F value Pr(>F)
## study_type 2 3604 1802 1.761 0.196
## Residuals 21 21489 1023
##
## === Testing ewave_ratio_rms ===
## Group: baseline - Shapiro-Wilk p-value: 0.1184806
## Group: tac - Shapiro-Wilk p-value: 0.6707492
## Group: detac - Shapiro-Wilk p-value: 0.09840181
## All groups appear normal. Performing ANOVA.
## Df Sum Sq Mean Sq F value Pr(>F)
## study_type 2 62.2 31.10 0.592 0.562
## Residuals 21 1103.4 52.54
##
## === Testing ewave_angle ===
## Group: baseline - Shapiro-Wilk p-value: 0.08767966
## Group: tac - Shapiro-Wilk p-value: 0.8417568
## Group: detac - Shapiro-Wilk p-value: 0.3006952
## All groups appear normal. Performing ANOVA.
## Df Sum Sq Mean Sq F value Pr(>F)
## study_type 2 27.3 13.62 0.538 0.591
## Residuals 21 531.4 25.30
##
## === Testing cycle_length ===
## Group: baseline - Shapiro-Wilk p-value: 0.8201015
## Group: tac - Shapiro-Wilk p-value: 0.002252278
## Group: detac - Shapiro-Wilk p-value: 0.994645
## At least one group is non-normal. Performing Kruskal-Wallis test.
##
## Kruskal-Wallis rank sum test
##
## data: column_data by study_type
## Kruskal-Wallis chi-squared = 3.3368, df = 2, p-value = 0.1885
##
##
## === Testing cycle_long_rms ===
## Group: baseline - Shapiro-Wilk p-value: 0.1125588
## Group: tac - Shapiro-Wilk p-value: 0.6588126
## Group: detac - Shapiro-Wilk p-value: 0.5275711
## All groups appear normal. Performing ANOVA.
## Df Sum Sq Mean Sq F value Pr(>F)
## study_type 2 4320 2160 5.167 0.015 *
## Residuals 21 8778 418
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## === Testing cycle_trans_rms ===
## Group: baseline - Shapiro-Wilk p-value: 0.09204671
## Group: tac - Shapiro-Wilk p-value: 0.06532962
## Group: detac - Shapiro-Wilk p-value: 0.1765644
## All groups appear normal. Performing ANOVA.
## Df Sum Sq Mean Sq F value Pr(>F)
## study_type 2 0.15 0.076 0.007 0.993
## Residuals 21 232.39 11.066
##
## === Testing cycle_ratio_rms ===
## Group: baseline - Shapiro-Wilk p-value: 0.5637164
## Group: tac - Shapiro-Wilk p-value: 0.07306118
## Group: detac - Shapiro-Wilk p-value: 0.02428636
## At least one group is non-normal. Performing Kruskal-Wallis test.
##
## Kruskal-Wallis rank sum test
##
## data: column_data by study_type
## Kruskal-Wallis chi-squared = 3.4844, df = 2, p-value = 0.1751
##
##
## === Testing cycle_angle ===
## Group: baseline - Shapiro-Wilk p-value: 0.8064864
## Group: tac - Shapiro-Wilk p-value: 0.1121433
## Group: detac - Shapiro-Wilk p-value: 0.5441041
## All groups appear normal. Performing ANOVA.
## Df Sum Sq Mean Sq F value Pr(>F)
## study_type 2 42.33 21.17 1.782 0.193
## Residuals 21 249.50 11.88
##
## === Testing sys_length ===
## Group: baseline - Shapiro-Wilk p-value: 0.7229021
## Group: tac - Shapiro-Wilk p-value: 0.9411609
## Group: detac - Shapiro-Wilk p-value: 0.1424458
## All groups appear normal. Performing ANOVA.
## Df Sum Sq Mean Sq F value Pr(>F)
## study_type 2 93 46.5 0.359 0.703
## Residuals 21 2721 129.6
##
## === Testing sys_im_length ===
## Group: baseline - Shapiro-Wilk p-value: 0.4207217
## Group: tac - Shapiro-Wilk p-value: 0.8383787
## Group: detac - Shapiro-Wilk p-value: 0.1203641
## All groups appear normal. Performing ANOVA.
## Df Sum Sq Mean Sq F value Pr(>F)
## study_type 2 241.7 120.87 1.354 0.28
## Residuals 21 1874.2 89.25
##
## === Testing sys_im_angle ===
## Group: baseline - Shapiro-Wilk p-value: 0.6488765
## Group: tac - Shapiro-Wilk p-value: 0.2004101
## Group: detac - Shapiro-Wilk p-value: 0.3656881
## All groups appear normal. Performing ANOVA.
## Df Sum Sq Mean Sq F value Pr(>F)
## study_type 2 69.1 34.54 2.219 0.134
## Residuals 21 326.9 15.57
##
## === Testing sys_im_AUC ===
## Group: baseline - Shapiro-Wilk p-value: 0.7971419
## Group: tac - Shapiro-Wilk p-value: 0.4658848
## Group: detac - Shapiro-Wilk p-value: 0.002268014
## At least one group is non-normal. Performing Kruskal-Wallis test.
##
## Kruskal-Wallis rank sum test
##
## data: column_data by study_type
## Kruskal-Wallis chi-squared = 15.687, df = 2, p-value = 0.0003923
##
##
## === Testing sys_im_long_rms ===
## Group: baseline - Shapiro-Wilk p-value: 0.764676
## Group: tac - Shapiro-Wilk p-value: 0.1659053
## Group: detac - Shapiro-Wilk p-value: 0.1910273
## All groups appear normal. Performing ANOVA.
## Df Sum Sq Mean Sq F value Pr(>F)
## study_type 2 20248 10124 17.57 3.28e-05 ***
## Residuals 21 12100 576
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## === Testing sys_im_trans_rms ===
## Group: baseline - Shapiro-Wilk p-value: 0.9882521
## Group: tac - Shapiro-Wilk p-value: 0.04868395
## Group: detac - Shapiro-Wilk p-value: 0.2003942
## At least one group is non-normal. Performing Kruskal-Wallis test.
##
## Kruskal-Wallis rank sum test
##
## data: column_data by study_type
## Kruskal-Wallis chi-squared = 2.9477, df = 2, p-value = 0.229
##
##
## === Testing isys_im_length ===
## Group: baseline - Shapiro-Wilk p-value: 0.7890643
## Group: tac - Shapiro-Wilk p-value: 0.2189582
## Group: detac - Shapiro-Wilk p-value: 0.371489
## All groups appear normal. Performing ANOVA.
## Df Sum Sq Mean Sq F value Pr(>F)
## study_type 2 560.6 280.29 10.53 0.000682 ***
## Residuals 21 559.2 26.63
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## === Testing isys_im_long_rms ===
## Group: baseline - Shapiro-Wilk p-value: 0.9058169
## Group: tac - Shapiro-Wilk p-value: 0.2727141
## Group: detac - Shapiro-Wilk p-value: 0.32051
## All groups appear normal. Performing ANOVA.
## Df Sum Sq Mean Sq F value Pr(>F)
## study_type 2 15715 7857 12.01 0.000334 ***
## Residuals 21 13744 654
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## === Testing dsys_im_length ===
## Group: baseline - Shapiro-Wilk p-value: 0.3485734
## Group: tac - Shapiro-Wilk p-value: 0.850541
## Group: detac - Shapiro-Wilk p-value: 0.8298027
## All groups appear normal. Performing ANOVA.
## Df Sum Sq Mean Sq F value Pr(>F)
## study_type 2 1274.1 637.0 15.79 6.53e-05 ***
## Residuals 21 847.2 40.3
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## === Testing dsys_im_long_rms ===
## Group: baseline - Shapiro-Wilk p-value: 0.307901
## Group: tac - Shapiro-Wilk p-value: 0.3311119
## Group: detac - Shapiro-Wilk p-value: 0.03892445
## At least one group is non-normal. Performing Kruskal-Wallis test.
##
## Kruskal-Wallis rank sum test
##
## data: column_data by study_type
## Kruskal-Wallis chi-squared = 15.68, df = 2, p-value = 0.0003937
##
##
## === Testing lsys_long_rms ===
## Group: baseline - Shapiro-Wilk p-value: 0.882994
## Group: tac - Shapiro-Wilk p-value: 0.009894144
## Group: detac - Shapiro-Wilk p-value: 0.7449337
## At least one group is non-normal. Performing Kruskal-Wallis test.
##
## Kruskal-Wallis rank sum test
##
## data: column_data by study_type
## Kruskal-Wallis chi-squared = 6.365, df = 2, p-value = 0.04148
##
##
## === Testing myo_GCS ===
## Group: baseline - Shapiro-Wilk p-value: 0.2722767
## Group: tac - Shapiro-Wilk p-value: 0.7262246
## Group: detac - Shapiro-Wilk p-value: 0.1907374
## All groups appear normal. Performing ANOVA.
## Df Sum Sq Mean Sq F value Pr(>F)
## study_type 2 141.77 70.88 16.13 5.71e-05 ***
## Residuals 21 92.31 4.40
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## === Testing myo_GLS ===
## Group: baseline - Shapiro-Wilk p-value: 0.9457198
## Group: tac - Shapiro-Wilk p-value: 0.9232229
## Group: detac - Shapiro-Wilk p-value: 0.5178704
## All groups appear normal. Performing ANOVA.
## Df Sum Sq Mean Sq F value Pr(>F)
## study_type 2 260.0 129.99 22.78 5.49e-06 ***
## Residuals 21 119.8 5.71
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## === Testing endo_GCS ===
## Group: baseline - Shapiro-Wilk p-value: 0.2255423
## Group: tac - Shapiro-Wilk p-value: 0.03694183
## Group: detac - Shapiro-Wilk p-value: 0.5654701
## At least one group is non-normal. Performing Kruskal-Wallis test.
##
## Kruskal-Wallis rank sum test
##
## data: column_data by study_type
## Kruskal-Wallis chi-squared = 15.322, df = 2, p-value = 0.0004709
##
##
## === Testing endo_GLS ===
## Group: baseline - Shapiro-Wilk p-value: 0.5924315
## Group: tac - Shapiro-Wilk p-value: 0.9226016
## Group: detac - Shapiro-Wilk p-value: 0.13727
## All groups appear normal. Performing ANOVA.
## Df Sum Sq Mean Sq F value Pr(>F)
## study_type 2 499.7 249.83 28.19 1.13e-06 ***
## Residuals 21 186.1 8.86
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## === Testing LV_EF ===
## Group: baseline - Shapiro-Wilk p-value: 0.7216424
## Group: tac - Shapiro-Wilk p-value: 0.08557099
## Group: detac - Shapiro-Wilk p-value: 0.4258549
## All groups appear normal. Performing ANOVA.
## Df Sum Sq Mean Sq F value Pr(>F)
## study_type 2 1760.8 880.4 21.82 7.47e-06 ***
## Residuals 21 847.3 40.3
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## === Testing pslax_avg_strain_rate ===
## Group: baseline - Shapiro-Wilk p-value: 0.9431145
## Group: tac - Shapiro-Wilk p-value: 0.432873
## Group: detac - Shapiro-Wilk p-value: 0.6978038
## All groups appear normal. Performing ANOVA.
## Df Sum Sq Mean Sq F value Pr(>F)
## study_type 2 19.32 9.661 2.175 0.139
## Residuals 21 93.28 4.442
##
## === Testing LV_mass_cor ===
## Group: baseline - Shapiro-Wilk p-value: 0.836246
## Group: tac - Shapiro-Wilk p-value: 0.7363654
## Group: detac - Shapiro-Wilk p-value: 0.01029446
## At least one group is non-normal. Performing Kruskal-Wallis test.
##
## Kruskal-Wallis rank sum test
##
## data: column_data by study_type
## Kruskal-Wallis chi-squared = 13.76, df = 2, p-value = 0.001028
##
##
## === Testing LVAW_sys ===
## Group: baseline - Shapiro-Wilk p-value: 0.02487974
## Group: tac - Shapiro-Wilk p-value: 0.7763618
## Group: detac - Shapiro-Wilk p-value: 0.3576033
## At least one group is non-normal. Performing Kruskal-Wallis test.
##
## Kruskal-Wallis rank sum test
##
## data: column_data by study_type
## Kruskal-Wallis chi-squared = 1.9705, df = 2, p-value = 0.3734
##
##
## === Testing LVAW_dias ===
## Group: baseline - Shapiro-Wilk p-value: 0.116632
## Group: tac - Shapiro-Wilk p-value: 0.0288811
## Group: detac - Shapiro-Wilk p-value: 0.03118992
## At least one group is non-normal. Performing Kruskal-Wallis test.
##
## Kruskal-Wallis rank sum test
##
## data: column_data by study_type
## Kruskal-Wallis chi-squared = 10.278, df = 2, p-value = 0.005862
##
##
## === Testing LVPW_sys ===
## Group: baseline - Shapiro-Wilk p-value: 0.6248402
## Group: tac - Shapiro-Wilk p-value: 0.422403
## Group: detac - Shapiro-Wilk p-value: 0.04986185
## At least one group is non-normal. Performing Kruskal-Wallis test.
##
## Kruskal-Wallis rank sum test
##
## data: column_data by study_type
## Kruskal-Wallis chi-squared = 0.27495, df = 2, p-value = 0.8716
##
##
## === Testing LVPW_dias ===
## Group: baseline - Shapiro-Wilk p-value: 0.0002782286
## Group: tac - Shapiro-Wilk p-value: 0.5440517
## Group: detac - Shapiro-Wilk p-value: 0.9244963
## At least one group is non-normal. Performing Kruskal-Wallis test.
##
## Kruskal-Wallis rank sum test
##
## data: column_data by study_type
## Kruskal-Wallis chi-squared = 8.615, df = 2, p-value = 0.01347
##
##
## === Testing sax_avg_strain ===
## Group: baseline - Shapiro-Wilk p-value: 0.2339289
## Group: tac - Shapiro-Wilk p-value: 0.1478743
## Group: detac - Shapiro-Wilk p-value: 0.9424121
## All groups appear normal. Performing ANOVA.
## Df Sum Sq Mean Sq F value Pr(>F)
## study_type 2 653.7 326.8 18.87 2.04e-05 ***
## Residuals 21 363.8 17.3
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## === Testing LA_EF ===
## Group: baseline - Shapiro-Wilk p-value: 0.4250273
## Group: tac - Shapiro-Wilk p-value: 0.5301352
## Group: detac - Shapiro-Wilk p-value: 0.7685072
## All groups appear normal. Performing ANOVA.
## Df Sum Sq Mean Sq F value Pr(>F)
## study_type 2 3903 1951.6 19.2 1.82e-05 ***
## Residuals 21 2135 101.7
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## === Testing LA_edv ===
## Group: baseline - Shapiro-Wilk p-value: 0.6760941
## Group: tac - Shapiro-Wilk p-value: 0.5494286
## Group: detac - Shapiro-Wilk p-value: 0.07439423
## All groups appear normal. Performing ANOVA.
## Df Sum Sq Mean Sq F value Pr(>F)
## study_type 2 1940 970.0 10.96 0.000551 ***
## Residuals 21 1859 88.5
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## === Testing LA_esv ===
## Group: baseline - Shapiro-Wilk p-value: 0.9269597
## Group: tac - Shapiro-Wilk p-value: 0.338382
## Group: detac - Shapiro-Wilk p-value: 0.07464182
## All groups appear normal. Performing ANOVA.
## Df Sum Sq Mean Sq F value Pr(>F)
## study_type 2 2031 1015.7 8.351 0.00215 **
## Residuals 21 2554 121.6
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## === Testing LA_strain_mean ===
## Group: baseline - Shapiro-Wilk p-value: 0.4260443
## Group: tac - Shapiro-Wilk p-value: 0.2935954
## Group: detac - Shapiro-Wilk p-value: 0.1389014
## All groups appear normal. Performing ANOVA.
## Df Sum Sq Mean Sq F value Pr(>F)
## study_type 2 1560 780.0 14.55 0.000108 ***
## Residuals 21 1126 53.6
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## === Testing Ao_pk_vel ===
## Group: baseline - Shapiro-Wilk p-value: 0.03615476
## Group: tac - Shapiro-Wilk p-value: 0.01561365
## Group: detac - Shapiro-Wilk p-value: 0.6822679
## At least one group is non-normal. Performing Kruskal-Wallis test.
##
## Kruskal-Wallis rank sum test
##
## data: column_data by study_type
## Kruskal-Wallis chi-squared = 20.48, df = 2, p-value = 3.571e-05
##
##
## === Testing mitral_EA_ratio ===
## Group: baseline - Shapiro-Wilk p-value: 0.2662143
## Group: tac - Shapiro-Wilk p-value: 3.352499e-06
## Group: detac - Shapiro-Wilk p-value: 0.04987265
## At least one group is non-normal. Performing Kruskal-Wallis test.
##
## Kruskal-Wallis rank sum test
##
## data: column_data by study_type
## Kruskal-Wallis chi-squared = 6.496, df = 2, p-value = 0.03885
##
##
## === Testing sys_length_norm ===
## Group: baseline - Shapiro-Wilk p-value: 0.05910918
## Group: tac - Shapiro-Wilk p-value: 0.6446468
## Group: detac - Shapiro-Wilk p-value: 0.613031
## All groups appear normal. Performing ANOVA.
## Df Sum Sq Mean Sq F value Pr(>F)
## study_type 2 230.4 115.21 1.365 0.277
## Residuals 21 1771.9 84.37
##
## === Testing sys_im_length_norm ===
## Group: baseline - Shapiro-Wilk p-value: 0.01161045
## Group: tac - Shapiro-Wilk p-value: 0.4599535
## Group: detac - Shapiro-Wilk p-value: 0.5510796
## At least one group is non-normal. Performing Kruskal-Wallis test.
##
## Kruskal-Wallis rank sum test
##
## data: column_data by study_type
## Kruskal-Wallis chi-squared = 4.205, df = 2, p-value = 0.1222
##
##
## === Testing isys_im_length_norm ===
## Group: baseline - Shapiro-Wilk p-value: 0.7691392
## Group: tac - Shapiro-Wilk p-value: 0.346804
## Group: detac - Shapiro-Wilk p-value: 0.08935689
## All groups appear normal. Performing ANOVA.
## Df Sum Sq Mean Sq F value Pr(>F)
## study_type 2 378.1 189.03 10.65 0.00064 ***
## Residuals 21 372.6 17.74
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## === Testing dsys_im_length_norm ===
## Group: baseline - Shapiro-Wilk p-value: 0.5127237
## Group: tac - Shapiro-Wilk p-value: 0.355723
## Group: detac - Shapiro-Wilk p-value: 0.02018318
## At least one group is non-normal. Performing Kruskal-Wallis test.
##
## Kruskal-Wallis rank sum test
##
## data: column_data by study_type
## Kruskal-Wallis chi-squared = 13.155, df = 2, p-value = 0.001391
##
##
## === Testing isys_dsys_length_ratio ===
## Group: baseline - Shapiro-Wilk p-value: 0.1734391
## Group: tac - Shapiro-Wilk p-value: 0.101703
## Group: detac - Shapiro-Wilk p-value: 0.3565814
## All groups appear normal. Performing ANOVA.
## Df Sum Sq Mean Sq F value Pr(>F)
## study_type 2 21510 10755 9.816 0.000978 ***
## Residuals 21 23009 1096
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## === Testing isys_dsys_long_ratio ===
## Group: baseline - Shapiro-Wilk p-value: 0.3743839
## Group: tac - Shapiro-Wilk p-value: 0.3610178
## Group: detac - Shapiro-Wilk p-value: 0.892146
## All groups appear normal. Performing ANOVA.
## Df Sum Sq Mean Sq F value Pr(>F)
## study_type 2 16286 8143 25.27 2.58e-06 ***
## Residuals 21 6768 322
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Looking at ANOVA results, it is interesting to find that full cycle transverse RMS was by far the least predictive metric between groups. Based on biological context alone, this should be a powerful predictor; however, this may highlight the significant limitations of the Visual Sonics tool in accuracy or precision of calculating transverse HDF components.
Unsuprisingly, and as the literature backs up, endocardial GLS and myocardial GLS were the two most powerful predictors between groups. The tool is primarily built for calculating strain, so this confirms that the strain is being calculated accurately enough given the proven capability of the biometric. LV and LA ejection fraction along with short axis average strain, myocardial GCS, LA mean strain, and LA end diastolic volume were all also highly significant geometric predictors.
In terms of HDF with ANOVA, systolic impulse longitudinal RMS, descending systolic impulse length, initial systolic impulse longitudinal RMS, and initial systolic impulse length were all highly significant predictors between groups.
Looking at the non-parametric testing using Kruskal-Wallis, aortic peak velocity was the most significant predictor. This makes sense on a biological level as flow is directly related to tube cross sectional area and the TAC procedure directly decreases the aortic cross sectional area. Other highly significant predictors were systolic impulse Area Under Curve (AUC), descending systolic impulse longitudinal RMS, systolic peak, and endocardial GCS. Notably, the first 3 of these 4 additional metrics are all HDF metrics.
Based on the overview of the significance tables, the following HDF intervals seem noteworthy: systolic impulse, initial systolic impulse, and descending systolic impulse. There weren’t any particularly powerful predictors in the diastolic portion of the cycle in HDF but there were some in geometry based metrics like LA end diastolic volume.
Only the boxplots with some form of significance are shown in the plots tab. Amongst the ones that are shown, most predictors are more powerful in discerning between baseline and TAC as compared to TAC vs deTAC conditions. Looking at the data in this way shows us a couple of things. In several of the HDF metrics, there seem to be some factor contributing to large outliers in both the baseline and detac condition. This may be due to a compounded difference between animals in the TAC condition as many of the HDF parameters are closely clustered in the TAC condition. This may mean that the deTAC outcome are highly sensitive to small changes in the TAC HDF metric conditions. Further analysis and testing will explore this more in depth.
Aortic peak velocity was again the most significant metric based on the boxplots which makes sense given the biological context of the TAC surgery.
One thing to note is just how closely clustered the TAC HDF metrics truly are. Observing the boxplots of each of the HDF metrics shows an intense clustering of the TAC condition. Clustering of metrics at the TAC condition did not, however, equate to similair levels of clustering at the baseline or deTAC conditions. This again supports the idea that small TAC condition changes may lead to significantly larger deTAC recovery conditions, such that the HDF metrics could better predict surgical intervention recovery as these patients could be categorized into great recovery, average recovery and poor recovery based on HDF conditions and matching them with ejection fraction and cardiac output.
## Warning in wilcox.test.default(c(1.34, 3.35, 1.16, 2.02, 2.57, 1.56, 1.95, :
## cannot compute exact p-value with ties
## Warning in wilcox.test.default(c(1.17, 1, 1, 3.5, 0.99, 0.99, 1, 1), c(1.45, :
## cannot compute exact p-value with ties
## Warning in wilcox.test.default(c(0.65, 1.42, 0.58, 0.68, 0.72, 0.78, 0.67, :
## cannot compute exact p-value with ties
## Warning in wilcox.test.default(c(1.33, 0.67, 0.71, 0.68, 1.01, 1.04, 0.71, :
## cannot compute exact p-value with ties
## Warning in wilcox.test.default(c(1.2, 1.14, 1.07, 1.07, 1.11, 1.57, 1.34, :
## cannot compute exact p-value with ties
## Warning in wilcox.test.default(c(-24.45, -24.15, -25.55, -28.14, -34.4, :
## cannot compute exact p-value with ties
## Warning in wilcox.test.default(c(-18.9, -20.05, -11.17, -13.98, -14.26, :
## cannot compute exact p-value with ties
## Warning in wilcox.test.default(c(5.1, 8.7, 2.6, 3.7, 2.1, 5, 4.8, 5.6), :
## cannot compute exact p-value with ties
Operator curves were compared for 38 statistics against LV ejection fraction at both the median value of EF for the data set and when EF was set to 45%. The data was normalized to a range between 0 and 1 and binarized on whether it predicted the correct outcome to LV ejection fraction. This mimicked the situation of predicting heart failure given that EF is the gold standard in diagnostics to determine heart failure.
The following metrics have AUC over 0.95 for EF < 45% and median: myocardial GCS and GLS, and endocardial GCS and GLS.
The following metrics have AUC over 0.95 for EF < 45% but only over 0.85 on median: LA ejection fraction and LA strain mean.
The following metrics have AUC over 0.85 for EF < 45% and median: systolic peak, systolic impulse AUC, systolic impulse longitudinal RMS, LV mass corrected, short axis average strain, LA end diastolic volume, and aorta peak velocity.
Based on these results, strain metrics are the best biometrics for accurately predicting the condition of heart failure with reduced ejection fraction. That being said, this is not on its own all that useful considering ejection fraction is easier to measure than strain or HDF. These results do, however, suggest that HDF metrics are similar in sensitivity to strain metrics for predicting heart failure with reduced ejection fraction. This is a kind of baseline proof that HDF is equally capable at determining obvious changes in heart function.
## Setting direction: controls < cases
## Setting direction: controls < cases
## Setting direction: controls > cases
## Setting direction: controls > cases
## Setting direction: controls < cases
## Setting direction: controls < cases
## Setting direction: controls < cases
## Setting direction: controls < cases
## Setting direction: controls < cases
## Setting direction: controls < cases
## Setting direction: controls > cases
## Setting direction: controls > cases
## Setting direction: controls < cases
## Setting direction: controls < cases
## Setting direction: controls < cases
## Setting direction: controls < cases
## Setting direction: controls > cases
## Setting direction: controls > cases
## Setting direction: controls > cases
## Setting direction: controls > cases
## Setting direction: controls < cases
## Setting direction: controls < cases
## Setting direction: controls > cases
## Setting direction: controls > cases
## Setting direction: controls < cases
## Setting direction: controls < cases
## Setting direction: controls < cases
## Setting direction: controls < cases
## Setting direction: controls > cases
## Setting direction: controls > cases
## Setting direction: controls > cases
## Setting direction: controls > cases
## Setting direction: controls > cases
## Setting direction: controls > cases
## Setting direction: controls < cases
## Setting direction: controls < cases
## Setting direction: controls < cases
## Setting direction: controls < cases
## Setting direction: controls > cases
## Setting direction: controls > cases
## Setting direction: controls > cases
## Setting direction: controls > cases
## Setting direction: controls > cases
## Setting direction: controls > cases
## Setting direction: controls > cases
## Setting direction: controls > cases
## Setting direction: controls > cases
## Setting direction: controls > cases
## Setting direction: controls < cases
## Setting direction: controls < cases
## Setting direction: controls < cases
## Setting direction: controls < cases
## Setting direction: controls < cases
## Setting direction: controls < cases
## Setting direction: controls < cases
## Setting direction: controls < cases
The first two dimensions of the PCA analysis comprise around 55% of the total impact of co variate impacts. PC1 is the most principle component that is most influenced by aortic peak velocity. This indicates that the PC1 dimension tracks the aortic velocity and thus variables that are strongly correlated with it or inversely correlated with it are factors that change along side with aortic velocity changes. This makes sense on a biological basis. The primary impact of the TAC surgery is making the diameter of the aortic arch smaller such that the velocity through it must be higher to keep cardiac output up. In this way, the variables that are high positive or negative loading related to the first dimension are of interest in predicting aortic velocity changes for one biological model that results in heart failure dynamics.
The following metrics were, in order, the strongest loading factors: aortic peak velocity, endocardial GLS, LV ejection fraction, myocardial GLS, LV mass corrected, LA end diastolic volume, LA end systolic volume, endocardial GCS, myocardial GCS, descending systolic impulse longitudinal RMS, systolic impulse longitudinal RMS, systolic impulse Area Under Curve (AUC). All of these metrics were a magnitude over 0.2. Only the last 3 of these are HDF metrics, but they do suggest that each of these HDF metrics are closely related to the change in each of the strain and geometric parameters which predict late stage heart failure. This is again a good verification that HDF metrics match the behavior of other proven parameters.
The second dimension, pC2, is most directly a factor of the transverse components of the cycle. This includes things like angles and timing parameters like systolic length.
## Warning in lapply(numeric_cols, as.numeric): NAs introduced by coercion
## Warning in lapply(numeric_cols, as.numeric): NAs introduced by coercion
Many of the conditions speak mostly for themselves and overall the trend continues that strain metrics better correlated with ejection fraction outcomes.
Of utmost interest is, however, the situation of plotting each of the TAC metrics against the paired deTAC ejection fraction outcomes. This scenario is set to suggest what would happen in the situation of surgical intervention for patients with heart failure. Some of these that would remove a constriction in the outflow tract such that afterload is decreased would include aortic valve replacement for aortic stenosis and stent placements. From these results, the metric that most correlated with ejection fraction outcome after deTAC is systolic impulse transverse RMS. This metric, with correlation (r = -0.8211) was higher than LA ejection fraction (r = 0.7274), myocardial GCS (r = -0.6453), LA mean strain (r = 0.6419), LA end diastolic volume (r = -0.5642), and LV ejection fraction (r = 0.556). Systolic length was also highly correlated (r = 0.7092) and the HDF metric of systolic impulse length was also significantly correlated (r = 0.6365) with deTAC recovery.
This may suggest that systolic impulse transverse RMS is the strongest predictor of how a mouse recovers post deTAC. The data has a small n=8 since this correlation was a paired analysis, so the next steps involve including more animals in the analysis in ordre to reduce the randomness of these results.
## Warning: `aes_string()` was deprecated in ggplot2 3.0.0.
## ℹ Please use tidy evaluation idioms with `aes()`.
## ℹ See also `vignette("ggplot2-in-packages")` for more information.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'