pendahuluan

Dataset ini memberikan profil kesehatan individu di Indonesia secara rinci, dengan fokus pada prediksi serangan jantung. Data ini mencakup faktor demografi, klinis, gaya hidup, dan lingkungan yang terkait dengan risiko kardiovaskular. Dataset ini mencerminkan tren kesehatan dunia nyata di Indonesia, dengan mempertimbangkan faktor-faktor seperti hipertensi, diabetes, obesitas, merokok, dan paparan polusi.

Serangan jantung merupakan salah satu penyebab utama kematian di dunia. Faktor resiko seperti usia dan gender memainkan peran penting dalam menentukan kemungkinan seseorang mengalami serangan jantung.

Analisis usia dan gender dalam data prediksi serangan jantung di indonesia diperlukan karena:

  1. Usia kemungkinan merupakan faktor utama, jika seseorangan semakin tua, semakin tinggi pula risikonya terkena penyakit kardiovaskular

  2. Gender juga kemungkinan memiliki pengaruh, beberapa penelitian mengatakan bahwa pria memiliki risiko lebih tinggi terkena serangan jantung dibandingkan dengan wanita.

sumber data: https://www.kaggle.com/datasets/ankushpanday2/heart-attack-prediction-in-indonesia

library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(ggplot2)

data <- read.csv("/cloud/project/heart_attack_prediction_indonesia.csv")
summary(data)
##       age           gender             region          income_level      
##  Min.   :25.00   Length:158355      Length:158355      Length:158355     
##  1st Qu.:46.00   Class :character   Class :character   Class :character  
##  Median :55.00   Mode  :character   Mode  :character   Mode  :character  
##  Mean   :54.54                                                           
##  3rd Qu.:63.00                                                           
##  Max.   :90.00                                                           
##   hypertension       diabetes      cholesterol_level    obesity      
##  Min.   :0.0000   Min.   :0.0000   Min.   :100.0     Min.   :0.0000  
##  1st Qu.:0.0000   1st Qu.:0.0000   1st Qu.:172.0     1st Qu.:0.0000  
##  Median :0.0000   Median :0.0000   Median :199.0     Median :0.0000  
##  Mean   :0.2991   Mean   :0.1998   Mean   :199.5     Mean   :0.2499  
##  3rd Qu.:1.0000   3rd Qu.:0.0000   3rd Qu.:226.0     3rd Qu.:0.0000  
##  Max.   :1.0000   Max.   :1.0000   Max.   :350.0     Max.   :1.0000  
##  waist_circumference family_history   smoking_status     alcohol_consumption
##  Min.   : 20.00      Min.   :0.0000   Length:158355      Length:158355      
##  1st Qu.: 82.00      1st Qu.:0.0000   Class :character   Class :character   
##  Median : 93.00      Median :0.0000   Mode  :character   Mode  :character   
##  Mean   : 93.27      Mean   :0.3002                                         
##  3rd Qu.:104.00      3rd Qu.:1.0000                                         
##  Max.   :173.00      Max.   :1.0000                                         
##  physical_activity  dietary_habits     air_pollution_exposure
##  Length:158355      Length:158355      Length:158355         
##  Class :character   Class :character   Class :character      
##  Mode  :character   Mode  :character   Mode  :character      
##                                                              
##                                                              
##                                                              
##  stress_level        sleep_hours    blood_pressure_systolic
##  Length:158355      Min.   :3.000   Min.   : 61.0          
##  Class :character   1st Qu.:5.493   1st Qu.:119.0          
##  Mode  :character   Median :6.507   Median :130.0          
##                     Mean   :6.480   Mean   :129.5          
##                     3rd Qu.:7.521   3rd Qu.:140.0          
##                     Max.   :9.000   Max.   :199.0          
##  blood_pressure_diastolic fasting_blood_sugar cholesterol_hdl cholesterol_ldl
##  Min.   : 37.00           Min.   : 70.0       Min.   : 8.00   Min.   :-19.0  
##  1st Qu.: 73.00           1st Qu.: 89.0       1st Qu.:43.00   1st Qu.:106.0  
##  Median : 80.00           Median :109.0       Median :49.00   Median :130.0  
##  Mean   : 79.49           Mean   :110.7       Mean   :49.49   Mean   :129.6  
##  3rd Qu.: 86.00           3rd Qu.:130.0       3rd Qu.:56.00   3rd Qu.:153.0  
##  Max.   :127.00           Max.   :230.0       Max.   :93.00   Max.   :282.0  
##  triglycerides   EKG_results        previous_heart_disease medication_usage
##  Min.   : 50.0   Length:158355      Min.   :0.0000         Min.   :0.0000  
##  1st Qu.:116.0   Class :character   1st Qu.:0.0000         1st Qu.:0.0000  
##  Median :149.0   Mode  :character   Median :0.0000         Median :0.0000  
##  Mean   :149.7                      Mean   :0.2006         Mean   :0.4998  
##  3rd Qu.:183.0                      3rd Qu.:0.0000         3rd Qu.:1.0000  
##  Max.   :380.0                      Max.   :1.0000         Max.   :1.0000  
##  participated_in_free_screening  heart_attack  
##  Min.   :0.000                  Min.   :0.000  
##  1st Qu.:0.000                  1st Qu.:0.000  
##  Median :1.000                  Median :0.000  
##  Mean   :0.601                  Mean   :0.401  
##  3rd Qu.:1.000                  3rd Qu.:1.000  
##  Max.   :1.000                  Max.   :1.000
str(data)
## 'data.frame':    158355 obs. of  28 variables:
##  $ age                           : int  60 53 62 73 52 52 73 64 49 61 ...
##  $ gender                        : chr  "Male" "Female" "Female" "Male" ...
##  $ region                        : chr  "Rural" "Urban" "Urban" "Urban" ...
##  $ income_level                  : chr  "Middle" "Low" "Low" "Low" ...
##  $ hypertension                  : int  0 0 0 1 1 0 0 0 0 0 ...
##  $ diabetes                      : int  1 0 0 0 0 0 0 1 0 0 ...
##  $ cholesterol_level             : int  211 208 231 202 232 231 238 165 186 121 ...
##  $ obesity                       : int  0 0 1 0 0 1 1 0 0 1 ...
##  $ waist_circumference           : int  83 106 112 82 89 81 91 72 115 88 ...
##  $ family_history                : int  0 1 1 1 0 1 0 1 0 1 ...
##  $ smoking_status                : chr  "Never" "Past" "Past" "Never" ...
##  $ alcohol_consumption           : chr  "None" "None" "Moderate" "Moderate" ...
##  $ physical_activity             : chr  "High" "Moderate" "Moderate" "Moderate" ...
##  $ dietary_habits                : chr  "Unhealthy" "Healthy" "Healthy" "Unhealthy" ...
##  $ air_pollution_exposure        : chr  "Moderate" "High" "Low" "Low" ...
##  $ stress_level                  : chr  "Moderate" "High" "Low" "High" ...
##  $ sleep_hours                   : num  5.97 5.64 6.34 7.91 3.25 ...
##  $ blood_pressure_systolic       : int  113 132 116 136 127 131 128 109 150 142 ...
##  $ blood_pressure_diastolic      : int  62 76 74 65 75 71 97 83 87 87 ...
##  $ fasting_blood_sugar           : int  173 70 118 98 104 129 88 112 147 79 ...
##  $ cholesterol_hdl               : int  48 58 69 52 59 34 40 47 46 34 ...
##  $ cholesterol_ldl               : int  121 83 130 85 127 148 128 100 157 93 ...
##  $ triglycerides                 : int  101 138 171 146 139 191 167 50 198 164 ...
##  $ EKG_results                   : chr  "Normal" "Normal" "Abnormal" "Normal" ...
##  $ previous_heart_disease        : int  0 1 0 0 1 0 0 0 0 0 ...
##  $ medication_usage              : int  0 0 1 1 0 1 1 0 1 0 ...
##  $ participated_in_free_screening: int  0 1 0 1 1 1 1 1 0 0 ...
##  $ heart_attack                  : int  0 0 1 0 1 0 0 1 0 1 ...

A/B Testing

A/B testing adalah metode yang digunakan untuk membandingkan dua kelompok dalam kasus ini metode A/B testing digunakan untuk mengetahui apakah ada perbedaan rata-rata usia antara dua kelompok berdasarkan gender.

Wilcoxon Test merupakan salah satu uji non-parametrik yang digunakan untuk membandingkan dua kelompok independen, karena ukuran sampelnya kecil (<30) dan distribusi normal sulit dipastikan itu sebabnya metode uji non-parametrik ini digunakan.

data_A <- filter(data, gender == "Male" & age >= 50)
data_B <- filter(data, gender == "Female" & age >= 50)
summary(data_A$age)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   50.00   55.00   60.00   61.15   66.00   90.00
summary(data_B$age)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   50.00   55.00   60.00   61.13   66.00   90.00
data_A_clean <- na.omit(data_A$age)
data_B_clean <- na.omit(data_B$age)

data_A_clean <- as.numeric(unlist(data_A_clean))
data_B_clean <- as.numeric(unlist(data_B_clean))

print(class(data_A_clean)) 
## [1] "numeric"
print(class(data_B_clean)) 
## [1] "numeric"
n_A <- length(data_A)
n_B <- length(data_B)

n_A
## [1] 28
n_B
## [1] 28
if (n_A > 30 & n_B > 30) {
  test_result <- t.test(data_A_clean, data_B_clean, var.equal = TRUE)
} else {
  test_result <- wilcox.test(data_A_clean, data_B_clean)
}
test_result
## 
##  Wilcoxon rank sum test with continuity correction
## 
## data:  data_A_clean and data_B_clean
## W = 1373265422, p-value = 0.9752
## alternative hypothesis: true location shift is not equal to 0

Karena p-value bernilai 0.9752 yang dimana p-value > 0.05 sehingga hipotesis H₀ diterima yang berarti tidak ada perbedaan signifikan dalam data pria dengan usia >= 50 yang mengalami serangan jantung dan data wanita dengan usia >= 50 yang mengalami serangan jantung.

Uji Hipotesis

Uji hipotesis merupakan metode statistik untuk menguji suatu asumsi tentang suatu populasi berdasarkan data sampel, uji hipotesis memiliki tujuan untuk mengetahui apakah usia rata-rata penderita serangan jantung berbeda antara wanita dan pria.

Hipotesis: H₀: Tidak ada perbedaan signifikan antara data penderita serangan jantung wanita dengan usia >= 50 dan penderita serangan jantung pria dengan usia >= 50

H₁: Ada perbedaan signifikan antara data penderita serangan jantung wanita dengan usia >= 50 dan penderita serangan jantung pria dengan usia >= 50

alpha <- 0.05

if (n_A > 30 & n_B > 30) {
  test_result <- t.test(data_A_clean, data_B_clean, var.equal = TRUE)
  test_type <- "T-Test"
} else {
  test_result <- wilcox.test(data_A_clean, data_B_clean)
  test_type <- "Wilcoxon Rank-Sum Test"
}

test_result
## 
##  Wilcoxon rank sum test with continuity correction
## 
## data:  data_A_clean and data_B_clean
## W = 1373265422, p-value = 0.9752
## alternative hypothesis: true location shift is not equal to 0
if (test_result$p.value < alpha) {
  conclusion <- paste("Hasil", test_type, ": p-value =", round(test_result$p.value, 4),
                      "\nKarena p-value < alpha (0.05), TOLAK Hipotesis Nol.",
                      "\nAda perbedaan signifikan antara data penderita serangan jantung wanita dengan usia >= 50 dan penderita serangan jantung pria dengan usia >= 50
")
} else {
  conclusion <- paste("Hasil", test_type, ": p-value =", round(test_result$p.value, 4),
                      "\nKarena p-value >= alpha (0.05), TERIMA Hipotesis Nol.",
                      "\nTidak ada perbedaan signifikan antara data penderita serangan jantung wanita dengan usia >= 50 dan penderita serangan jantung pria dengan usia >= 50
")
}
cat(conclusion)
## Hasil Wilcoxon Rank-Sum Test : p-value = 0.9752 
## Karena p-value >= alpha (0.05), TERIMA Hipotesis Nol. 
## Tidak ada perbedaan signifikan antara data penderita serangan jantung wanita dengan usia >= 50 dan penderita serangan jantung pria dengan usia >= 50

Karena P-value 0.9752 > 0.05 maka tidak memiliki cukup bukti bahwa ada perbedaan yang signifikan antara data penderita serangan jantung wanita dengan usia >= 50 dan penderita serangan jantung pria dengan usia >= 50, sehingga hipotesis H₀ diterima.

resampling

Resampling adalah teknik yang digunakan untuk menggunakan kembali data yang ada untuk memperkirakan karakteristik dari suatu populasi. Resampling dilakukan bertujuan untuk memriksa apakah ada perbedaan nyata antara dua kelompok berdasarkan estimasi distribusi perbedaan mean dan mengatasi keterbatasan jumlah sampel.

set.seed(123)  
B <- 5000  
mean_diff <- numeric(B)  

for (i in 1:B) {
  
  sample_A <- sample(data_A_clean, replace = TRUE)
  sample_B <- sample(data_B_clean, replace = TRUE)
  
  mean_diff[i] <- mean(sample_A) - mean(sample_B)
}

summary(mean_diff)
##      Min.   1st Qu.    Median      Mean   3rd Qu.      Max. 
## -0.135016 -0.006221  0.027023  0.027587  0.060854  0.218358
ggplot(data.frame(mean_diff), aes(x = mean_diff)) +
  geom_histogram(binwidth = 0.01, fill = "blue", alpha = 0.7, color = "black") +
  geom_vline(xintercept = mean(mean_diff), color = "red", linetype = "dashed", size = 1) +
  theme_minimal() +
  labs(title = "Distribusi Bootstrapping Perbedaan Mean",
       x = "Perbedaan Rata-rata (Grup A - Grup B)",
       y = "Frekuensi")
## Warning: Using `size` aesthetic for lines was deprecated in ggplot2 3.4.0.
## ℹ Please use `linewidth` instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.

catatan: Grup A: Penderita serangan jantung wanita dengan usia >= 50 Grup B: Penderita serangan jantung Pria dengan usia >= 50

CI <- quantile(mean_diff, probs = c(0.025, 0.975))
cat("Interval Kepercayaan 95%: [", round(CI[1], 2), ",", round(CI[2], 2), "]\n")
## Interval Kepercayaan 95%: [ -0.07 , 0.13 ]
if (CI[1] > 0 | CI[2] < 0) {
  cat("Karena interval kepercayaan tidak melewati nol, perbedaan antar grup signifikan.\n")
} else {
  cat("Karena interval kepercayaan mencakup nol, tidak cukup bukti adanya perbedaan signifikan.\n")
}
## Karena interval kepercayaan mencakup nol, tidak cukup bukti adanya perbedaan signifikan.

Hasil bootsrapping menunjukan bahwa rata-rata perbedaan antara penderita serangan jantung wanita dengan usia >= 50 dan penderita serangan jantung pria dengan usia >= 50 adalah sekitar 0.0276 dengan interval kepercayaan 95%: [-0.07, 0.13].

Statiscan significan and p-values

Statistican Significan atau signifikansi statistik digunakan untuk menentukan apakah hasil yang diperoleh dalam analisis data terjadi secara kebetulan atau memiliki makna yang nyata dalam sebuah populasi

wilcox_test <- wilcox.test(data_A_clean, data_B_clean)
wilcox_p_value <- wilcox_test$p.value

cat("P-Value dari Wilcoxon Test:", wilcox_p_value, "\n")
## P-Value dari Wilcoxon Test: 0.9752232
if (wilcox_p_value < 0.05) {
  cat("Hasil: Perbedaan antara penderita serangan jantung wanita dengan usia >= 50 dan penderita serangan jantung pria dengan usia >= 50 signifikan secara statistik")
  
  cat("Hasil: Tidak ada bukti kuat untuk perbedaan signifikan (p ≥ 0.05)\n")
}
p_value_boot <- mean(abs(mean_diff) <= 0)

cat("P-Value dari Bootstrapping:", p_value_boot, "\n")
## P-Value dari Bootstrapping: 0
if (p_value_boot < 0.05) {
  cat("Hasil: Perbedaan antara penderita serangan jantung wanita dengan usia >= 50 dan penderita serangan jantung pria dengan usia >= 50 signifikan secara statistik berdasarkan bootstrapping (p < 0.05)\n")
} else {
  cat("Hasil: Tidak ada bukti kuat untuk perbedaan signifikan berdasarkan bootstrapping (p ≥ 0.05)\n")
}
## Hasil: Perbedaan antara penderita serangan jantung wanita dengan usia >= 50 dan penderita serangan jantung pria dengan usia >= 50 signifikan secara statistik berdasarkan bootstrapping (p < 0.05)

Wilcoxon Test: p-value 0.9752 (tidak signifikan, tidak ada perbedaan nyata).

Bootstrapping: Interval kepercayaan [-0.07, 0.13] mencakup nol berarti tidak cukup bukti bahwa perbedaan mean signifikan.

Kesimpulan akhir: Tidak ada perbedaan signifikan antara penderita serangan jantung wanita dengan usia >= 50 dan penderita serangan jantung pria dengan usia >= 50 dalam dataset ini.

T-test

T-test adalah uji statistik yang digunakan untuk membandingkan rata-rata dua kelompok dan menentukan apakah perbedaannya signifikan secara statistik.

var_test <- var.test(data_A_clean, data_B_clean)
var_p_value <- var_test$p.value

cat("P-Value dari Uji Varians (F-Test):", var_p_value, "\n")
## P-Value dari Uji Varians (F-Test): 0.07007095
if (var_p_value < 0.05) {
  cat("Varians berbeda secara signifikan, gunakan Welch's T-Test.\n")
  equal_var <- FALSE
} else {
  cat("Varians tidak berbeda signifikan, gunakan T-Test biasa.\n")
  equal_var <- TRUE
}
## Varians tidak berbeda signifikan, gunakan T-Test biasa.
t_test <- t.test(data_A_clean, data_B_clean, var.equal = equal_var)
t_test_p_value <- t_test$p.value

cat("\nP-Value dari T-Test:", t_test_p_value, "\n")
## 
## P-Value dari T-Test: 0.5977138
if (t_test_p_value < 0.05) {
  cat("Hasil: Perbedaan antara penderita serangan jantung wanita dengan usia >= 50 dan penderita serangan jantung pria dengan usia >= 50 signifikan secara statistik (p < 0.05)\n")
} else {
  cat("Hasil: Tidak ada bukti kuat untuk perbedaan signifikan (p ≥ 0.05)\n")
}
## Hasil: Tidak ada bukti kuat untuk perbedaan signifikan (p ≥ 0.05)

saat melakukan uji varians (f-test) varians kedua kelompok tidak berbeda signifikan sehingga digunakan uji t-test dan menghasilkan p-value = 0.5977 yang artinya tidak ada perbedaan signifikan dalam mean kedua kelompok.

Multiple Testing

Multiple Testing atau pengujian ganda terjadi ketika melakukan lebih ari satu uji statistik dalam satu analisis.

p_values <- c(t_test_p_value, wilcox_p_value, p_value_boot, var_p_value)

p_bonferroni <- p.adjust(p_values, method = "bonferroni")

p_bh <- p.adjust(p_values, method = "BH")

p_adjusted_results <- data.frame(
  Test = c("T-Test", "Wilcoxon", "Bootstrap", "Variance Test"),
  P_Value = p_values,
  P_Bonferroni = p_bonferroni,
  P_BH = p_bh
)

print(p_adjusted_results)
##            Test    P_Value P_Bonferroni      P_BH
## 1        T-Test 0.59771384    1.0000000 0.7969518
## 2      Wilcoxon 0.97522320    1.0000000 0.9752232
## 3     Bootstrap 0.00000000    0.0000000 0.0000000
## 4 Variance Test 0.07007095    0.2802838 0.1401419
cat("\nInterpretasi setelah Multiple Testing Correction:\n")
## 
## Interpretasi setelah Multiple Testing Correction:
if (any(p_bonferroni < 0.05)) {
  cat("Dengan Bonferroni Correction, ada perbedaan signifikan antara grup (p < 0.05).\n")
} else {
  cat("Dengan Bonferroni Correction, tidak ada perbedaan signifikan (p ≥ 0.05).\n")
}
## Dengan Bonferroni Correction, ada perbedaan signifikan antara grup (p < 0.05).
if (any(p_bh < 0.05)) {
  cat("Dengan Benjamini-Hochberg Correction, ada perbedaan signifikan antara grup (p < 0.05).\n")
} else {
  cat("Dengan Benjamini-Hochberg Correction, tidak ada perbedaan signifikan (p ≥ 0.05).\n")
}
## Dengan Benjamini-Hochberg Correction, ada perbedaan signifikan antara grup (p < 0.05).

degrees of freedom

Df atau Degrees of Freedom atau bisa disebut derajat kebebasan adalah jumlah nilai independen dalam perhitungan statistik yang bebas, dalam uji statistik seperti T-test atau ANOVA derajat kebebasan digunakan untuk menentukan distribusi probabilitas yang sesuai.

n_A <- length(data_A_clean)
n_B <- length(data_B_clean)

s2_A <- var(data_A_clean)
s2_B <- var(data_B_clean)

if (equal_var) {
  df <- n_A + n_B - 2  # Equal Variance T-Test
  cat("Degrees of Freedom (Equal Variance):", df, "\n")
} else {
  df <- ( (s2_A / n_A + s2_B / n_B)^2 ) /
        ( ( (s2_A / n_A)^2 / (n_A - 1) ) + ( (s2_B / n_B)^2 / (n_B - 1) ) )  # Welch's T-Test
  cat("Degrees of Freedom (Welch's T-Test):", df, "\n")
}
## Degrees of Freedom (Equal Variance): 104893

104893 adalah jumlah degrees of freedom yang dihitung dari jumlah sampel kedua grup dengan asumsi varians yang sama.Df yang besar menunjukkan dataset yang besar, sehingga hasil uji T-Test menjadi lebih stabil dan kurang terpengaruh oleh outlier.

ANOVA

ANOVA (Analysis of Variance) merupakan uji statistik yang digunakan untuk membandingkan lebih dari dua kelompok berdasarkan perbedaan rata-rata. ANOVA digunakan saat ada lebih dari dua kelompok yang akan dibandingkan.

if (!require(ggplot2)) install.packages("ggplot2", dependencies=TRUE)

data <- read.csv("/cloud/project/heart_attack_prediction_indonesia.csv")

anova_result <- aov(age ~ gender, data = data)

summary(anova_result)
##                 Df   Sum Sq Mean Sq F value Pr(>F)
## gender           1      105   104.9   0.739   0.39
## Residuals   158353 22465492   141.9

Tidak ada perbedaan signifikan antara kelompok gender dalam dataset, variasi dalam data lebi banyak disebabkan oleh faktor lain, bukan hanya dari gender. hasil ini menunjukkan bahwa gender bukan faktor utama dalam memprediksi kemungkinan serangan jantung.

Chi-Square

Uji chi-square digunakan untuk menguji hubungan antara dua variabel kategori dalam dataset. analisis ini berutjuan untuk mengetahui apakah gender berhubungan dengan kemungkinan serangan jantung.

hipotesis: H₀: Tidak ada hubungan antara gender dan kemungkinan serangan jantung H₁: Ada hubungan antara gender dan kemungkinan serangan jantung

data$gender <- as.factor(data$gender)
data$heart_attack <- as.factor(data$heart_attack)

table_chi <- table(data$gender, data$heart_attack)

chi_result <- chisq.test(table_chi)

print(chi_result)
## 
##  Pearson's Chi-squared test with Yates' continuity correction
## 
## data:  table_chi
## X-squared = 1.9274, df = 1, p-value = 0.165

Karena P-value = 0.165 > 0.05 maka hipotesis H₀ diterima karena tidak ada bukti yang cukup untuk menyimpulkan bawa gender memiliki hubungan signifikan dengan serangan jantung dalam dataset.

Kesimpulan

Berdasarkan seluruh analisis yang telah dilakukan pada dataset Heart attack prediction in Indonesia bahwa tidak ada bukti dari uji statistik yang cukup kuat untuk menyatakan bahwa gender berpengaruh secara signifikan terhadap kemungkinan serangan jantung. Usia mungkin memiliki peran, tapi memerlukan analisis lebih lanjut dengan variabel lain seperti gaya hidup, kolesterol, teknana darah dan lainnya. resampling dengan metode bootstrapping menunjukkan bahwa perbedaan anatara kelompok penderita serangan jantung wanita dengan usia >= 50 dan penderita serangan jantung pria dengan usia >= 50 tidak signifikan secara statistik.