library(psych)
library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr     1.1.2     ✔ readr     2.1.4
## ✔ forcats   1.0.0     ✔ stringr   1.5.0
## ✔ ggplot2   3.4.3     ✔ tibble    3.2.1
## ✔ lubridate 1.9.2     ✔ tidyr     1.3.0
## ✔ purrr     1.0.1     
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ ggplot2::%+%()   masks psych::%+%()
## ✖ ggplot2::alpha() masks psych::alpha()
## ✖ dplyr::filter()  masks stats::filter()
## ✖ dplyr::lag()     masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
ataque_corazon <- read.csv("corazon.csv") 
# se puede obtener en -> https://www.kaggle.com/datasets/iamsouravbanerjee/heart-attack-prediction-dataset/
summary(ataque_corazon)
##   Patient.ID             Age            Sex             Cholesterol   
##  Length:8763        Min.   :18.00   Length:8763        Min.   :120.0  
##  Class :character   1st Qu.:35.00   Class :character   1st Qu.:192.0  
##  Mode  :character   Median :54.00   Mode  :character   Median :259.0  
##                     Mean   :53.71                      Mean   :259.9  
##                     3rd Qu.:72.00                      3rd Qu.:330.0  
##                     Max.   :90.00                      Max.   :400.0  
##  Blood.Pressure       Heart.Rate        Diabetes      Family.History 
##  Length:8763        Min.   : 40.00   Min.   :0.0000   Min.   :0.000  
##  Class :character   1st Qu.: 57.00   1st Qu.:0.0000   1st Qu.:0.000  
##  Mode  :character   Median : 75.00   Median :1.0000   Median :0.000  
##                     Mean   : 75.02   Mean   :0.6523   Mean   :0.493  
##                     3rd Qu.: 93.00   3rd Qu.:1.0000   3rd Qu.:1.000  
##                     Max.   :110.00   Max.   :1.0000   Max.   :1.000  
##     Smoking          Obesity       Alcohol.Consumption Exercise.Hours.Per.Week
##  Min.   :0.0000   Min.   :0.0000   Min.   :0.0000      Min.   : 0.002442      
##  1st Qu.:1.0000   1st Qu.:0.0000   1st Qu.:0.0000      1st Qu.: 4.981579      
##  Median :1.0000   Median :1.0000   Median :1.0000      Median :10.069559      
##  Mean   :0.8968   Mean   :0.5014   Mean   :0.5981      Mean   :10.014284      
##  3rd Qu.:1.0000   3rd Qu.:1.0000   3rd Qu.:1.0000      3rd Qu.:15.050018      
##  Max.   :1.0000   Max.   :1.0000   Max.   :1.0000      Max.   :19.998709      
##      Diet           Previous.Heart.Problems Medication.Use    Stress.Level  
##  Length:8763        Min.   :0.0000          Min.   :0.0000   Min.   : 1.00  
##  Class :character   1st Qu.:0.0000          1st Qu.:0.0000   1st Qu.: 3.00  
##  Mode  :character   Median :0.0000          Median :0.0000   Median : 5.00  
##                     Mean   :0.4958          Mean   :0.4983   Mean   : 5.47  
##                     3rd Qu.:1.0000          3rd Qu.:1.0000   3rd Qu.: 8.00  
##                     Max.   :1.0000          Max.   :1.0000   Max.   :10.00  
##  Sedentary.Hours.Per.Day     Income            BMI        Triglycerides  
##  Min.   : 0.001263       Min.   : 20062   Min.   :18.00   Min.   : 30.0  
##  1st Qu.: 2.998794       1st Qu.: 88310   1st Qu.:23.42   1st Qu.:225.5  
##  Median : 5.933622       Median :157866   Median :28.77   Median :417.0  
##  Mean   : 5.993690       Mean   :158263   Mean   :28.89   Mean   :417.7  
##  3rd Qu.: 9.019124       3rd Qu.:227749   3rd Qu.:34.32   3rd Qu.:612.0  
##  Max.   :11.999313       Max.   :299954   Max.   :40.00   Max.   :800.0  
##  Physical.Activity.Days.Per.Week Sleep.Hours.Per.Day   Country         
##  Min.   :0.00                    Min.   : 4.000      Length:8763       
##  1st Qu.:2.00                    1st Qu.: 5.000      Class :character  
##  Median :3.00                    Median : 7.000      Mode  :character  
##  Mean   :3.49                    Mean   : 7.024                        
##  3rd Qu.:5.00                    3rd Qu.: 9.000                        
##  Max.   :7.00                    Max.   :10.000                        
##   Continent          Hemisphere        Heart.Attack.Risk
##  Length:8763        Length:8763        Min.   :0.0000   
##  Class :character   Class :character   1st Qu.:0.0000   
##  Mode  :character   Mode  :character   Median :0.0000   
##                                        Mean   :0.3582   
##                                        3rd Qu.:1.0000   
##                                        Max.   :1.0000

Factores que pueden o no afectar a los problemas de ataques al corazón

                     Y ~ X
## Y ~ X
ataque_corazon$Sex<- as.factor(ataque_corazon$Sex)
aov1<- aov(Heart.Rate~ Sex, data=ataque_corazon)

summary(aov1)
##               Df  Sum Sq Mean Sq F value Pr(>F)
## Sex            1     441   441.4   1.045  0.307
## Residuals   8761 3700114   422.3
#ataque_corazon$Family.History<- as.factor(ataque_corazon$Family.History)
#aov2<- aov(Heart.Attack.Risk~ Family.History, data=ataque_corazon)

#ataque_corazon$Family.History<- as.factor(ataque_corazon$Family.History)
aov2<- aov(Heart.Rate~ Family.History, data=ataque_corazon)

summary(aov2)
##                  Df  Sum Sq Mean Sq F value Pr(>F)
## Family.History    1     671   671.4    1.59  0.207
## Residuals      8761 3699884   422.3
#ataque_corazon$Diabetes<- as.factor(ataque_corazon$Diabetes)
aov3<- aov(Heart.Rate~ Diabetes, data=ataque_corazon)
summary(aov3)
##               Df  Sum Sq Mean Sq F value Pr(>F)
## Diabetes       1     169   169.3   0.401  0.527
## Residuals   8761 3700387   422.4
ataque_corazon$Diet<- as.factor(ataque_corazon$Diet)
aov4<- aov(Heart.Rate~ Diet, data=ataque_corazon)
summary(aov4)
##               Df  Sum Sq Mean Sq F value Pr(>F)
## Diet           2    1607   803.6   1.903  0.149
## Residuals   8760 3698949   422.3
#ataque_corazon$Obesity<- as.factor(ataque_corazon$Obesity)
aov5<- aov(Heart.Rate~ Obesity, data=ataque_corazon)
summary(aov5)
##               Df  Sum Sq Mean Sq F value Pr(>F)
## Obesity        1     599   599.2   1.419  0.234
## Residuals   8761 3699957   422.3
#ataque_corazon$Previous.Heart.Problems<- as.factor(ataque_corazon$Previous.Heart.Problems)
aov6<- aov(  Heart.Rate ~ Previous.Heart.Problems , data=ataque_corazon)
summary(aov6)
##                           Df  Sum Sq Mean Sq F value Pr(>F)
## Previous.Heart.Problems    1      91    90.9   0.215  0.643
## Residuals               8761 3700465   422.4
ataque_corazon$Age<- as.factor(ataque_corazon$Age)
aov7<- aov(  Heart.Rate ~ Age , data=ataque_corazon)
summary(aov7)
##               Df  Sum Sq Mean Sq F value Pr(>F)
## Age           72   29367   407.9   0.965  0.561
## Residuals   8690 3671189   422.5

#cuando el pvalue es menor a 0.5 las medias son diferentes (se rechaza H0) / si es mayor entonces se acepta H1 y las medias son iguales

Ver la relación en la afectación de la Obesidad al nivel de Colesterol.

ataque_corazon$Obesity<- as.factor(ataque_corazon$Obesity)
aov9<- aov(  Cholesterol ~ Obesity , data=ataque_corazon)
summary(aov9)
##               Df   Sum Sq Mean Sq F value Pr(>F)
## Obesity        1    12622   12622   1.931  0.165
## Residuals   8761 57280952    6538
TukeyHSD(aov9)
##   Tukey multiple comparisons of means
##     95% family-wise confidence level
## 
## Fit: aov(formula = Cholesterol ~ Obesity, data = ataque_corazon)
## 
## $Obesity
##          diff      lwr       upr     p adj
## 1-0 -2.400323 -5.78675 0.9861039 0.1647379
plot(TukeyHSD(aov9)) # al pasar la linea vertical es cuando se acepta H0, ya que

Medias entre el estrés con los niveles de frecuencias cardíacas.

ataque_corazon$Stress.Level<- as.factor(ataque_corazon$Stress.Level)
aov8<- aov(  Heart.Rate ~ Stress.Level , data=ataque_corazon)
summary(aov8)
##                Df  Sum Sq Mean Sq F value Pr(>F)
## Stress.Level    9    3739   415.4   0.984  0.451
## Residuals    8753 3696817   422.3
TukeyHSD(aov8) # comparación de Medias
##   Tukey multiple comparisons of means
##     95% family-wise confidence level
## 
## Fit: aov(formula = Heart.Rate ~ Stress.Level, data = ataque_corazon)
## 
## $Stress.Level
##              diff       lwr      upr     p adj
## 2-1  -1.033498154 -4.119270 2.052273 0.9883270
## 3-1   0.385398631 -2.739045 3.509842 0.9999966
## 4-1   0.009769421 -3.078476 3.098015 1.0000000
## 5-1  -1.556445759 -4.688135 1.575243 0.8614669
## 6-1  -0.464428895 -3.600706 2.671848 0.9999836
## 7-1  -1.132525493 -4.226598 1.961547 0.9783428
## 8-1   0.529148336 -2.585522 3.643819 0.9999468
## 9-1  -0.823911216 -3.931607 2.283785 0.9979668
## 10-1 -0.597040294 -3.763833 2.569752 0.9998720
## 3-2   1.418896785 -1.664135 4.501929 0.9089796
## 4-2   1.043267576 -2.003074 4.089609 0.9863330
## 5-2  -0.522947604 -3.613322 2.567427 0.9999486
## 6-2   0.569069259 -2.525955 3.664093 0.9998963
## 7-2  -0.099027339 -3.151277 2.953222 1.0000000
## 8-2   1.562646490 -1.510481 4.635773 0.8441230
## 9-2   0.209586939 -2.856471 3.275645 1.0000000
## 10-2  0.436457861 -2.689484 3.562400 0.9999901
## 4-3  -0.375629210 -3.461137 2.709879 0.9999970
## 5-3  -1.941844390 -5.070834 1.187145 0.6246624
## 6-3  -0.849827526 -3.983409 2.283754 0.9975755
## 7-3  -1.517924124 -4.609265 1.573417 0.8700214
## 8-3   0.143749705 -2.968207 3.255706 1.0000000
## 9-3  -1.209309847 -4.314286 1.895666 0.9672534
## 10-3 -0.982438925 -4.146562 2.181684 0.9932578
## 5-4  -1.566215180 -4.659059 1.526629 0.8473613
## 6-4  -0.474198316 -3.571688 2.623292 0.9999781
## 7-4  -1.142294914 -4.197045 1.912455 0.9749831
## 8-4   0.519378915 -2.556232 3.594990 0.9999495
## 9-4  -0.833680637 -3.902228 2.234867 0.9975418
## 10-4 -0.606809715 -3.735193 2.521574 0.9998377
## 6-5   1.092016864 -2.048789 4.232823 0.9848026
## 7-5   0.423920266 -2.674743 3.522584 0.9999917
## 8-5   2.085594095 -1.033636 5.204825 0.5161349
## 9-5   0.732534543 -2.379732 3.844801 0.9992076
## 10-5  0.959405465 -2.211872 4.130683 0.9944382
## 7-6  -0.668096598 -3.771397 2.435204 0.9996157
## 8-6   0.993577231 -2.130260 4.117414 0.9919558
## 9-6  -0.359482321 -3.476366 2.757401 0.9999981
## 10-6 -0.132611399 -3.308420 3.043197 1.0000000
## 8-7   1.661673829 -1.419789 4.743136 0.7921587
## 9-7   0.308614277 -2.765798 3.383027 0.9999994
## 10-7  0.535485199 -2.598652 3.669622 0.9999442
## 9-8  -1.353059552 -4.448201 1.742081 0.9325595
## 10-8 -1.126188630 -4.280661 2.028284 0.9817391
## 10-9  0.226870922 -2.920715 3.374457 1.0000000
plot(TukeyHSD(aov8)) # al pasar la linea vertical es cuando se acepta H0, ya que