Dalam beberapa dekade terakhir, insiden serangan jantung telah meningkat secara signifikan di seluruh dunia sehingga menjadi perhatian serius dalam bidang kesehatan masyarakat. Penyakit ini dapat menyerang siapa saja di segala umur. Serangan jantung dapat menyebabkan kematian mendadak tanpa diketahui kemungkinan penyakit yang diderita sebelumnya. Serangan jantung merupakan salah satu kondisi kritis yang dapat mengancam kehidupan individu. Serangan jantung terjadi ketika plak arteri tiba-tiba pecah dan menyebabkan gumpalan darah yang menghambat aliran darah ke otot jantung. Kondisi ini merupakan situasi yang sangat berbahaya dan dapat menyebabkan nyeri dada yang intens, kegagalan jantung, dan bahkan kematian yang mendadak (Khoirunisa,2014).
Dalam masyarakat seringkali kita temui masih banyak orang yang tidak memiliki kesadaran terhadap gejala serangan jantung. Akibatnya, mereka tidak menyadari jika mengalami serangan jantung yang mengakibatkan keterlambatan dalam penanganan medis. Dalam beberapa kasus, hal ini dapat berujung pada kematian sebelum mereka tiba di rumah sakit. Pengetahuan mengenai gejala dan resiko penyakit jantung perlu dimiliki oleh setiap individu. Hal ini dikarenakan pemahaman yang lebih baik tentang faktor-faktor yang berkontribusi terhadap resiko serangan jantung sangat penting dalam upaya pencegahan dan penanganan serangan jantung. Pada umumnya, penyebab serangan jantung kompleks dan melibatkan berbagai faktor risiko. Faktor-faktor risiko ini dapat berhubungan dengan gaya hidup, seperti merokok, makanan, aktivitas fisik, dan stres, serta faktor-faktor medis seperti tekanan darah tinggi, kolesterol tinggi, diabetes, riwayat penyakit jantung dalam keluarga, dan lain-lain.
Berdasarkan fakta diatas Untuk mengidentifikasi faktor-faktor yang berpengaruh terhadap resiko serangan jantung, analisis faktor dapat menjadi metode analisis yang sangat berguna. Analisis faktor adalah metode statistik yang digunakan untuk mengidentifikasi pola hubungan antara berbagai variabel dan mengelompokkan variabel-variabel tersebut ke dalam faktor-faktor yang lebih besar. Oleh karena itu, penelitian ini bertujuan untuk menerapkan analisis faktor guna mengeksplorasi dan mengidentifikasi faktor-faktor yang berpengaruh terhadap resiko serangan jantung.
Hasil dari penelitian ini diharapkan dapat memberikan pemahaman yang lebih dalam tentang faktor-faktor yang berpengaruh terhadap resiko serangan jantung sehingga memungkinkan untuk membantu dalam mengembangkan strategi pencegahan dan intervensi yang lebih efektif dalam mengurangi insiden serangan jantung di masyarakat.
Berdasarkan uraian latar belakang dapat dirumuskan masalah sebagai berikut:
Apa saja faktor-faktor yang mempengaruhi resiko serangan jantung?
Apa faktor yang paling dominan dalam mempengaruhi resiko serangan jantung?
Penelitian ini bertujuan untuk mengidentifikasi faktor-faktor yang berpengaruh terhadap resiko serangan jantung dan mengidentifikasi faktor paling dominan yang berpengaruh terhadap resiko serangan jantung.
Analisis faktor adalah salah satu metode analisis multivariat yang digunakan untuk mengevaluasi dan mengidentifikasi faktor-faktor yang paling signifikan di antara berbagai indikator yang ada. Tujuan dari analisis ini adalah untuk mengidentifikasi, mengelompokkan, dan menyederhanakan faktor-faktor yang mewakili dimensi dari suatu variabel.
Dalam analisis faktor diperlukan beberapa asumsi yang harus dilakukan agar analisis faktor dapat dilakukan. Berikut merupakan asumsi dari analisis faktor:
Nilai perbandingan korelasi terobservasi dengan korelasi parsial lebih dari 0.6
Nilai mean dari suatu faktor spesifik ataupun faktor bersama 0
Varians dari faktor bersama bernilai 1
Antar faktor bersama bebas dari korelasi
Analisis faktor terdiri dari dua jenis yaitu analisis faktor eksploratori dan analisis faktor konfirmatori. Analisis faktor eksploratori digunakan untuk menyelidiki hubungan antara variabel manifestasi dan faktor tanpa membuat asumsi yang sangat ketat tentang variabel manifestasi yang berhubungan dengan faktor mana. Sedangkan analisis faktor konfirmatori, digunakan untuk menguji apakah model faktor tertentu yang diajukan sebelumnya secara praduga memberikan kesesuaian yang memadai dengan kovarians atau korelasi antara variabel manifestasi.
PCA dan analisis faktor sering disebut sebagai analisis yang serupa, meskipun terdapat perbedaan mendasar di antara keduanya. Adapun beberapa perbedaan dari PCA dan analisis faktor:
Dalam PCA, hasil kombinasi adalah gabungan linear dari variabel asli. Sedangkan dalam analisis faktor, hasil kombinasi adalah kombinasi linear dari faktor-faktor yang mendasarinya.
Dalam PCA, tujuannya untuk mengidentifikasi total variasi variabel. Sedangkan tujuan dalam analisis faktor, perhatiannya lebih tertuju pada kovarians atau korelasi antara variabelnya.
Pada analisis faktor, matriks korelasi adalah matriks yang menunjukkan korelasi antar variabel. Korelasi adalah ukuran tingkat keterkaitan antar variabel. Korelasi dapat berkisar antara -1 hingga 1. Nilai 1 menunjukkan korelasi sempurna positif, nilai -1 menunjukkan korelasi sempurna negatif, dan nilai 0 menunjukkan tidak ada korelasi.
Matriks korelasi penting dalam analisis faktor karena digunakan untuk menentukan faktor-faktor yang mendasari variabel-variabel tersebut. Faktor-faktor adalah variabel-variabel yang memiliki korelasi yang tinggi antar satu sama lain. Analisis faktor mengharuskan adanya hubungan linier antara variabel yang diamati dan koefisien korelasi tidak boleh nol. Hal ini yang menunjukkan bahwa hubungan itu nyata
Berikut contoh bentuk matriks korelasi:
Bartlett’s test of sphericity
Uji Bartlett adalah salah satu metode untuk menguji apakah suatu matriks korelasi antar variabel terobservasi dapat dianggap sebagai matriks identitas, yang berarti tidak ada hubungan antara variabel-variabel tersebut. Uji ini sering digunakan sebagai salah satu syarat untuk melakukan analisis faktor, yaitu suatu teknik statistik untuk mengidentifikasi variabel laten yang mendasari pola korelasi dalam suatu kumpulan variabel terobservasi. Uji Bartlett didasarkan pada statistik chi-kuadrat yang mengukur perbedaan antara matriks korelasi yang diperoleh dari data dan matriks identitas.
Hipotesis dalam uji ini adalah sebagai berikut:
\(H_0:\) Matriks korelasi adalah matriks identitas (Tidak terdapat korelasi yang signifikan setidaknya antar beberapa variabel)
\(H_1:\) Matriks korelasi bukan matriks identitas (Terdapat korelasi yang signifikan setidaknya antar beberapa variabel)
Adapun statistik uji Barlett’s test sebagai berikut:
Keterangan:
N = jumlah observasi
p = jumlah variabel
|R| = determianan matriks korelasi
Dengan kriteria pengambilan keputusannya adalah jika nilai p dari uji ini kurang dari tingkat signifikansi yang ditentukan, maka hipotesis nol ditolak dan disimpulkan bahwa ada hubungan antara variabel-variabel yang diteliti, sehingga analisis faktor dapat dilakukan. Sebaliknya, jika nilai p dari uji ini lebih besar dari tingkat signifikansi yang ditentukan, maka hipotesis nol tidak dapat ditolak dan disimpulkan bahwa tidak ada hubungan antara variabel-variabel yang diteliti, sehingga analisis faktor tidak dapat dilakukan.
Kiser-Mayer-Olkin (KMO)
Uji KMO (Kaiser-Meyer-Olkin) adalah salah satu metode untuk menguji kelayakan sampel untuk melakukan analisis faktor, yaitu suatu teknik statistik untuk mengidentifikasi variabel laten yang mendasari pola korelasi dalam suatu kumpulan variabel terobservasi. Uji KMO mengukur seberapa baik variabel-variabel yang diteliti berkorelasi satu sama lain, sehingga dapat dikelompokkan menjadi faktor-faktor yang lebih sedikit. Uji KMO menghasilkan nilai antara 0 dan 1, yang menunjukkan seberapa banyak variasi dalam data yang dapat dijelaskan oleh faktor-faktor yang ada. Nilai yang lebih tinggi menunjukkan bahwa data lebih cocok untuk analisis faktor, sedangkan nilai yang lebih rendah menunjukkan bahwa data kurang cocok untuk analisis faktor.
Adapun Statistik Uji KMO sebagai berikut:
Keterangan:
\(r_k\) = koefisien korelasi antara
variabel ke-j dan ke-k
\(P_jk\) = koefisien korelasi parsial
antara variabel ke-j dan ke-k
Dimana kriteria pengambilan keputusan yaitu memiliki nilai statistik KMO minimal sebesar 0.5.
Measure of Sampling Adequacy (MSA)
Measure of Sampling Adequacy (MSA) adalah sebuah metrik yang digunakan dalam analisis faktor untuk menilai sejauh mana data sampel yang digunakan cocok atau memadai untuk analisis faktor. MSA digunakan untuk memeriksa apakah data yang digunakan dalam analisis faktor memiliki karakteristik yang cukup baik untuk menghasilkan hasil yang andal. Ini adalah salah satu tahap awal dalam analisis faktor, yang digunakan untuk menilai kualitas data sebelum melanjutkan dengan analisis faktor itu sendiri.
Adapun statistik uji MSA sebagai berikut:
Dimana kriteria pengambilan keputusan yaitu jika nilai MSA Indikator < 0.5, maka Indikator tersebut akan tereliminasi dan tidak dapat diikutsertakan dalam analisis komponen utama.
Dalam analisis faktor, ekstraksi faktor merupakan langkah awal yang penting. Langkah ini bertujuan untuk mengurangi jumlah variabel asli menjadi sejumlah kecil faktor yang lebih mudah untuk diinterpretasikan. Jumlah faktor yang terbentuk (k faktor) harus lebih sedikit dari jumlah variabel asli (p variabel), yaitu p ≤ k (Sigit,2008).
Salah satu metode umum untuk mengekstrak faktor adalah Principal Component Analysis (PCA) dan Principal Factor Analysis (PFA). PCA mengasumsikan bahwa setiap variabel dapat dijelaskan melalui kombinasi linear faktor bersama yang berarti faktor-faktor tersebut mencakup variasi keseluruhan variabel. Jika semua faktor berkontribusi terhadap variasi suatu variabel, maka komunalitasnya mencapai 100% (atau 1). Namun dalam praktiknya, hal ini jarang terjadi karena variabel jarang dapat direduksi menjadi beberapa faktor yang mewakili variasi semua variabel. Dalam PCA, jika komunalitas kurang dari 1 maka menandakan bahwa ada kehilangan informasi dalam representasi tersebut.
Sedangkan, PFA mengasumsikan bahwa variasi variabel dapat dibagi menjadi dua bagian. Bagian pertama mencakup variasi gabungan dari semua variabel dalam analisis. Bagian lainnya mencakup variasi yang unik untuk masing-masing variabel. Variabilitas total antar variabel yang diamati tidak dapat dijelaskan oleh faktor bersama. Dalam PFA, faktor bersama hanya menjelaskan komponen variasi pertama yaitu bagian yang umumnya muncul dari semua variabel sehingga komunalitas indikator harus kurang dari 1 (Cleff, 2019).
Penentuan banyak faktor adalah salah satu langkah penting dalam analisis faktor. Banyak faktor yang dipilih haruslah sesuai dengan data yang digunakan. Jika banyak faktor yang dipilih terlalu sedikit, maka faktor-faktor tersebut tidak akan dapat mewakili semua informasi yang ada pada data. Sebaliknya, jika banyak faktor yang dipilih terlalu banyak, maka faktor-faktor tersebut akan menjadi terlalu umum dan tidak dapat memberikan informasi yang berarti.
Ada beberapa metode yang dapat digunakan untuk menentukan banyak faktor, yaitu:
Penentuan Berdasarkan Eigenvalues
Metode ini didasarkan pada nilai eigenvalues dari matriks korelasi. Eigenvalues adalah kuadrat akar dari akar-akar polynomial karakteristik matriks korelasi. Eigenvalues yang lebih besar menunjukkan bahwa variabel-variabel yang terkait dengan eigenvalue tersebut memiliki korelasi yang lebih tinggi.
Secara umum, faktor-faktor yang dipilih adalah faktor-faktor yang memiliki eigenvalues lebih besar dari 1. Hal ini disebabkan karena eigenvalues yang lebih besar menunjukkan bahwa faktor-faktor tersebut dapat menjelaskan lebih banyak varians dari data.
Penentuan Berdasarkan Scree Plot
Metode ini didasarkan pada scree plot, yaitu plot dari eigenvalues terhadap jumlah faktor. Scree plot biasanya berbentuk seperti huruf S. Lereng dari huruf S tersebut menunjukkan bahwa ada titik di mana eigenvalues mulai menurun dengan cepat. Titik ini menunjukkan jumlah faktor yang optimal.
Penentuan Apriori
Metode ini didasarkan pada pengetahuan apriori tentang data. Jika peneliti memiliki pengetahuan tentang jumlah faktor yang diharapkan, maka peneliti dapat menggunakan pengetahuan tersebut untuk menentukan banyak faktor.
Penentuan Berdasarkan pada Persentase Varian
Metode ini didasarkan pada persentase varians yang dijelaskan oleh faktor-faktor. Persentase varians yang dijelaskan oleh faktor-faktor dapat dihitung dengan menggunakan rumus berikut:
\[Presentase Varians = (\frac{Eigenvalue}{Total Varians} x 100 )\]
Faktor-faktor yang dipilih adalah faktor-faktor yang dapat menjelaskan paling sedikit 50% dari varians. Hal ini disebabkan karena faktor-faktor tersebut dapat mewakili sebagian besar informasi yang ada pada data.
Rotasi faktor dilakukan untuk mempermudah interpretasi dalam hasil yang disebabkan oleh hasil analisis faktor yang tidak unik.Hal ini berarti, hasil analisis faktor yang tidak dirotasi dapat menghasilkan faktor-faktor yang tidak unik yaitu faktor-faktor yang memiliki variabel-variabel yang sama. Rotasi faktor dapat membantu untuk mengatasi hal ini dengan mengatur faktor-faktor sehingga variabel-variabel yang memiliki korelasi yang tinggi berada pada faktor yang sama.
Rotasi juga diperlukan untuk menentukan faktor-faktor terkuat yang tepat pada masing-masing variabel tanpa memberikan hasil yang kontradiktif. Rotasi faktor dapat membantu untuk menentukan faktor-faktor yang paling kuat yang sesuai dengan masing-masing variabel. Rotasi faktor dapat dilakukan dengan berbagai metode, salah satunya adalah rotasi Varimax.
Rotasi Varimax adalah metode rotasi faktor yang populer karena dapat menghasilkan faktor-faktor yang mudah untuk ditafsirkan. Rotasi Varimax dilakukan dengan menyekalakan loadings (korelasi antara variabel dengan faktor) dengan nilai komunalitasnya. Nilai komunalitas adalah proporsi varians dari suatu variabel yang dapat dijelaskan oleh semua faktor. Berikut adalah nilai komunalitas:
Kemudian memaksimumkan nilai:
Penyekalaan loadings dengan nilai komunalitas akan menghasilkan loadings yang memiliki varians 1. Hal ini akan membuat faktor-faktor menjadi lebih mudah untuk ditafsirkan karena nilai loadings akan menunjukkan seberapa besar pengaruh suatu variabel terhadap faktor tersebut.
Data yang digunakan dalam penelitian dengan judul “Penerapan Analisis Faktor Eksploratori dalam menentukan Faktor-Faktor yang mempengaruhi Resiko Serangan Jantung” adalah data faktor-faktor yang memungkinkan berpengaruh terhadap resiko serangan jantung yang diambil dari sumber Kaggle dengan judul “Heart Attack Risk Prediction Dataset” terhadap 250 pasien. Berikut merupakan variabel-variabel yang digunakan:
\(X_1\) : Gender (1: Laki-Laki, 0:
Perempuan)
\(X_2\) : Diabetes (Apakah pasien
menderita diabetes, 1: Ya, 0: Tidak)
\(X_3\) : Family History (Riwayat
keluarga dengan masalah jantung, 1: Yes, 0: No)
\(X_4\) : Smoking (1: Merokok, 0: Tidak
Merokok)
\(X_5\) : Obesity (1: Obesitas, 0:
Tidak obesitas)
\(X_6\) : Alcohol Consumption (1:
Mengonsumsi, 0 : Tidak Mengonsumsi)
\(X_7\) : Previous Heart Problems
(Riwayat sakit jantung sebelumnya, 1: Ya, 0: Tidak)
Berikut merupakan data yang digunakan dalam penelitian ini:
> Faktor_Serangan_Jantung <- readxl::read_excel("D:/kuliah nasywa/sem 5/anmul/praktikum/Faktor Serangan Jantung.xlsx")
> knitr::kable(Faktor_Serangan_Jantung,
+ caption = "Data Faktor Resiko Serangan Jantung",align="c")| Gender | Diabetes | Family History | Smoking | Obesity | Alcohol Consumption | Previous Heart Problems |
|---|---|---|---|---|---|---|
| 1 | 1 | 1 | 1 | 1 | 0 | 1 |
| 1 | 0 | 0 | 1 | 1 | 1 | 0 |
| 0 | 0 | 1 | 1 | 1 | 1 | 0 |
| 1 | 1 | 1 | 1 | 1 | 1 | 0 |
| 1 | 1 | 1 | 1 | 0 | 1 | 1 |
| 1 | 1 | 1 | 1 | 0 | 1 | 0 |
| 1 | 1 | 0 | 1 | 1 | 0 | 0 |
| 1 | 0 | 1 | 1 | 0 | 1 | 1 |
| 0 | 0 | 0 | 1 | 0 | 1 | 0 |
| 1 | 1 | 0 | 1 | 1 | 0 | 1 |
| 1 | 1 | 0 | 1 | 1 | 1 | 0 |
| 1 | 1 | 0 | 1 | 1 | 1 | 1 |
| 1 | 1 | 0 | 1 | 1 | 0 | 1 |
| 0 | 0 | 0 | 1 | 1 | 1 | 1 |
| 1 | 1 | 1 | 1 | 0 | 1 | 0 |
| 0 | 1 | 0 | 0 | 0 | 1 | 1 |
| 0 | 1 | 1 | 1 | 0 | 0 | 1 |
| 0 | 1 | 1 | 1 | 1 | 1 | 0 |
| 1 | 1 | 1 | 1 | 1 | 0 | 1 |
| 1 | 1 | 0 | 1 | 0 | 1 | 0 |
| 0 | 1 | 1 | 1 | 0 | 0 | 1 |
| 0 | 0 | 1 | 0 | 0 | 0 | 0 |
| 1 | 0 | 0 | 1 | 0 | 1 | 1 |
| 1 | 1 | 1 | 1 | 1 | 0 | 1 |
| 1 | 1 | 0 | 1 | 1 | 1 | 1 |
| 0 | 1 | 0 | 1 | 0 | 0 | 0 |
| 1 | 1 | 1 | 1 | 0 | 1 | 1 |
| 0 | 1 | 0 | 1 | 0 | 1 | 1 |
| 1 | 1 | 0 | 1 | 1 | 1 | 1 |
| 1 | 1 | 0 | 1 | 0 | 0 | 1 |
| 0 | 0 | 0 | 1 | 1 | 1 | 0 |
| 1 | 1 | 0 | 1 | 0 | 1 | 0 |
| 1 | 1 | 0 | 1 | 1 | 0 | 1 |
| 0 | 0 | 1 | 0 | 0 | 1 | 0 |
| 1 | 1 | 1 | 1 | 0 | 1 | 0 |
| 1 | 1 | 1 | 1 | 1 | 0 | 0 |
| 0 | 1 | 0 | 0 | 0 | 0 | 1 |
| 0 | 1 | 0 | 0 | 0 | 1 | 1 |
| 1 | 0 | 0 | 1 | 0 | 1 | 1 |
| 1 | 0 | 1 | 1 | 1 | 1 | 1 |
| 0 | 0 | 0 | 1 | 0 | 1 | 0 |
| 0 | 1 | 0 | 1 | 0 | 0 | 1 |
| 1 | 1 | 0 | 1 | 1 | 0 | 1 |
| 1 | 1 | 0 | 1 | 1 | 0 | 1 |
| 1 | 1 | 0 | 1 | 0 | 0 | 1 |
| 0 | 1 | 0 | 0 | 1 | 0 | 1 |
| 1 | 1 | 1 | 1 | 1 | 0 | 0 |
| 1 | 1 | 1 | 1 | 1 | 0 | 1 |
| 1 | 1 | 0 | 1 | 1 | 0 | 0 |
| 1 | 1 | 0 | 1 | 1 | 0 | 0 |
| 0 | 1 | 0 | 1 | 1 | 0 | 0 |
| 1 | 1 | 0 | 1 | 1 | 0 | 0 |
| 1 | 1 | 0 | 1 | 0 | 1 | 1 |
| 1 | 0 | 1 | 1 | 1 | 0 | 0 |
| 0 | 1 | 1 | 0 | 1 | 1 | 0 |
| 0 | 1 | 1 | 0 | 0 | 1 | 0 |
| 1 | 1 | 1 | 1 | 0 | 0 | 1 |
| 1 | 1 | 1 | 1 | 0 | 0 | 0 |
| 1 | 1 | 0 | 1 | 1 | 0 | 0 |
| 0 | 1 | 0 | 0 | 0 | 0 | 1 |
| 1 | 1 | 0 | 1 | 0 | 0 | 1 |
| 1 | 1 | 0 | 1 | 1 | 0 | 1 |
| 1 | 1 | 1 | 1 | 0 | 1 | 0 |
| 1 | 0 | 0 | 1 | 0 | 0 | 0 |
| 1 | 0 | 1 | 1 | 0 | 1 | 0 |
| 1 | 1 | 0 | 1 | 1 | 0 | 1 |
| 1 | 1 | 0 | 1 | 0 | 1 | 0 |
| 1 | 0 | 1 | 1 | 1 | 1 | 0 |
| 1 | 0 | 0 | 1 | 0 | 1 | 1 |
| 1 | 1 | 0 | 1 | 0 | 1 | 1 |
| 1 | 1 | 1 | 1 | 0 | 1 | 0 |
| 0 | 1 | 0 | 1 | 1 | 1 | 1 |
| 1 | 0 | 1 | 1 | 1 | 0 | 0 |
| 1 | 0 | 0 | 1 | 0 | 1 | 0 |
| 0 | 1 | 1 | 1 | 1 | 1 | 0 |
| 1 | 0 | 1 | 1 | 1 | 1 | 0 |
| 1 | 1 | 1 | 1 | 0 | 1 | 1 |
| 1 | 0 | 0 | 1 | 0 | 1 | 0 |
| 1 | 0 | 1 | 1 | 1 | 0 | 1 |
| 0 | 1 | 0 | 0 | 0 | 1 | 1 |
| 0 | 1 | 1 | 0 | 0 | 1 | 1 |
| 1 | 1 | 1 | 1 | 0 | 0 | 0 |
| 1 | 1 | 1 | 1 | 1 | 0 | 1 |
| 0 | 1 | 0 | 1 | 0 | 1 | 1 |
| 1 | 1 | 0 | 1 | 1 | 1 | 0 |
| 1 | 1 | 1 | 1 | 0 | 1 | 1 |
| 0 | 0 | 0 | 0 | 0 | 1 | 0 |
| 1 | 1 | 1 | 1 | 1 | 1 | 0 |
| 0 | 1 | 1 | 1 | 1 | 0 | 1 |
| 1 | 1 | 1 | 1 | 0 | 0 | 0 |
| 0 | 0 | 0 | 1 | 0 | 1 | 1 |
| 1 | 1 | 0 | 1 | 1 | 0 | 1 |
| 1 | 1 | 0 | 1 | 0 | 1 | 1 |
| 0 | 0 | 1 | 1 | 0 | 1 | 0 |
| 1 | 0 | 1 | 1 | 1 | 0 | 1 |
| 1 | 0 | 1 | 1 | 0 | 1 | 0 |
| 0 | 0 | 1 | 0 | 0 | 0 | 1 |
| 1 | 1 | 1 | 1 | 1 | 1 | 0 |
| 1 | 1 | 1 | 1 | 1 | 0 | 1 |
| 0 | 1 | 1 | 1 | 1 | 1 | 0 |
| 1 | 0 | 1 | 1 | 1 | 0 | 0 |
| 1 | 1 | 0 | 1 | 1 | 0 | 0 |
| 1 | 1 | 0 | 1 | 0 | 0 | 1 |
| 1 | 0 | 0 | 1 | 0 | 0 | 0 |
| 1 | 0 | 1 | 1 | 0 | 1 | 0 |
| 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| 1 | 1 | 1 | 1 | 0 | 1 | 1 |
| 0 | 1 | 0 | 1 | 1 | 1 | 0 |
| 0 | 1 | 0 | 1 | 0 | 0 | 1 |
| 1 | 1 | 0 | 1 | 0 | 1 | 1 |
| 1 | 1 | 1 | 1 | 0 | 1 | 0 |
| 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| 0 | 1 | 0 | 1 | 0 | 0 | 0 |
| 1 | 1 | 1 | 1 | 1 | 1 | 0 |
| 1 | 1 | 0 | 1 | 1 | 0 | 1 |
| 1 | 1 | 0 | 1 | 1 | 0 | 1 |
| 0 | 1 | 1 | 0 | 0 | 0 | 0 |
| 0 | 0 | 1 | 1 | 1 | 0 | 1 |
| 1 | 1 | 1 | 1 | 0 | 1 | 1 |
| 0 | 0 | 0 | 0 | 1 | 1 | 0 |
| 1 | 1 | 1 | 1 | 1 | 1 | 0 |
| 1 | 0 | 1 | 1 | 1 | 1 | 0 |
| 1 | 1 | 0 | 1 | 0 | 0 | 1 |
| 0 | 1 | 0 | 0 | 0 | 0 | 0 |
| 1 | 1 | 1 | 1 | 0 | 1 | 1 |
| 1 | 1 | 1 | 1 | 1 | 1 | 0 |
| 1 | 1 | 0 | 1 | 0 | 0 | 0 |
| 1 | 1 | 0 | 1 | 1 | 0 | 0 |
| 0 | 1 | 0 | 1 | 0 | 1 | 1 |
| 1 | 0 | 1 | 1 | 1 | 1 | 1 |
| 1 | 1 | 0 | 1 | 1 | 1 | 1 |
| 1 | 0 | 0 | 1 | 0 | 1 | 0 |
| 0 | 1 | 0 | 0 | 0 | 0 | 1 |
| 1 | 0 | 1 | 1 | 1 | 0 | 1 |
| 1 | 1 | 0 | 1 | 1 | 0 | 0 |
| 1 | 1 | 1 | 1 | 0 | 1 | 0 |
| 1 | 1 | 0 | 1 | 0 | 1 | 0 |
| 1 | 1 | 1 | 1 | 0 | 0 | 0 |
| 0 | 1 | 0 | 0 | 0 | 1 | 1 |
| 0 | 1 | 0 | 1 | 0 | 1 | 0 |
| 0 | 1 | 0 | 1 | 0 | 1 | 1 |
| 1 | 0 | 1 | 1 | 1 | 1 | 1 |
| 1 | 0 | 1 | 1 | 1 | 1 | 0 |
| 1 | 0 | 0 | 1 | 1 | 0 | 1 |
| 1 | 1 | 1 | 1 | 1 | 1 | 0 |
| 0 | 1 | 1 | 0 | 1 | 0 | 0 |
| 0 | 1 | 1 | 1 | 1 | 0 | 0 |
| 1 | 0 | 1 | 1 | 0 | 1 | 1 |
| 1 | 1 | 0 | 1 | 1 | 1 | 0 |
| 1 | 1 | 1 | 1 | 0 | 1 | 1 |
| 0 | 0 | 0 | 0 | 1 | 1 | 0 |
| 1 | 1 | 0 | 1 | 1 | 1 | 0 |
| 1 | 1 | 1 | 1 | 1 | 1 | 0 |
| 1 | 0 | 1 | 1 | 0 | 1 | 0 |
| 1 | 1 | 1 | 1 | 0 | 1 | 1 |
| 1 | 1 | 1 | 1 | 0 | 1 | 0 |
| 1 | 0 | 1 | 1 | 0 | 0 | 0 |
| 1 | 0 | 1 | 1 | 1 | 0 | 0 |
| 1 | 1 | 1 | 1 | 0 | 1 | 1 |
| 1 | 1 | 1 | 1 | 0 | 1 | 0 |
| 1 | 0 | 0 | 1 | 0 | 0 | 1 |
| 1 | 1 | 0 | 1 | 1 | 1 | 0 |
| 1 | 1 | 1 | 1 | 1 | 1 | 0 |
| 0 | 1 | 1 | 1 | 0 | 1 | 1 |
| 1 | 1 | 0 | 1 | 1 | 1 | 0 |
| 1 | 0 | 1 | 1 | 1 | 0 | 1 |
| 1 | 1 | 1 | 1 | 0 | 1 | 1 |
| 1 | 0 | 1 | 1 | 0 | 1 | 1 |
| 1 | 1 | 1 | 1 | 1 | 1 | 0 |
| 0 | 1 | 0 | 1 | 1 | 0 | 0 |
| 1 | 1 | 0 | 1 | 0 | 1 | 1 |
| 1 | 0 | 0 | 1 | 0 | 0 | 0 |
| 0 | 1 | 0 | 0 | 1 | 0 | 1 |
| 1 | 1 | 0 | 1 | 0 | 1 | 1 |
| 1 | 1 | 0 | 1 | 1 | 1 | 0 |
| 1 | 1 | 0 | 1 | 0 | 1 | 0 |
| 0 | 1 | 1 | 0 | 0 | 0 | 1 |
| 0 | 1 | 0 | 1 | 0 | 0 | 1 |
| 1 | 1 | 1 | 1 | 0 | 1 | 1 |
| 1 | 0 | 1 | 1 | 0 | 1 | 0 |
| 1 | 1 | 0 | 1 | 1 | 1 | 1 |
| 1 | 0 | 0 | 1 | 1 | 1 | 1 |
| 0 | 1 | 1 | 1 | 0 | 0 | 0 |
| 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| 1 | 0 | 0 | 1 | 1 | 0 | 1 |
| 0 | 1 | 0 | 1 | 0 | 0 | 0 |
| 1 | 1 | 1 | 1 | 1 | 0 | 1 |
| 0 | 1 | 1 | 1 | 0 | 1 | 0 |
| 1 | 1 | 1 | 1 | 0 | 0 | 1 |
| 1 | 0 | 0 | 1 | 1 | 0 | 0 |
| 0 | 0 | 0 | 0 | 0 | 1 | 0 |
| 1 | 1 | 0 | 1 | 0 | 1 | 0 |
| 0 | 1 | 1 | 0 | 0 | 1 | 1 |
| 0 | 0 | 0 | 0 | 0 | 0 | 1 |
| 1 | 1 | 0 | 1 | 1 | 0 | 0 |
| 1 | 1 | 1 | 1 | 0 | 1 | 0 |
| 1 | 1 | 0 | 1 | 0 | 1 | 1 |
| 1 | 1 | 1 | 1 | 1 | 1 | 0 |
| 1 | 1 | 1 | 1 | 1 | 1 | 0 |
| 1 | 1 | 1 | 1 | 0 | 1 | 1 |
| 0 | 1 | 1 | 0 | 0 | 0 | 0 |
| 1 | 1 | 0 | 1 | 1 | 0 | 1 |
| 1 | 1 | 0 | 1 | 1 | 1 | 0 |
| 0 | 1 | 1 | 1 | 0 | 1 | 1 |
| 1 | 1 | 0 | 1 | 1 | 1 | 1 |
| 0 | 1 | 0 | 1 | 1 | 1 | 1 |
| 1 | 1 | 0 | 1 | 1 | 0 | 1 |
| 1 | 1 | 0 | 1 | 1 | 0 | 1 |
| 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| 1 | 1 | 0 | 1 | 0 | 0 | 1 |
| 1 | 0 | 1 | 1 | 1 | 1 | 1 |
| 1 | 1 | 0 | 1 | 0 | 1 | 0 |
| 1 | 1 | 1 | 1 | 1 | 1 | 0 |
| 0 | 0 | 1 | 1 | 0 | 0 | 0 |
| 1 | 1 | 1 | 1 | 0 | 0 | 0 |
| 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| 0 | 0 | 1 | 0 | 0 | 1 | 0 |
| 1 | 0 | 1 | 1 | 0 | 0 | 1 |
| 1 | 0 | 0 | 1 | 1 | 1 | 0 |
| 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| 0 | 1 | 1 | 1 | 0 | 0 | 1 |
| 0 | 1 | 0 | 0 | 1 | 0 | 1 |
| 0 | 1 | 1 | 1 | 0 | 1 | 1 |
| 1 | 0 | 0 | 1 | 0 | 1 | 1 |
| 1 | 1 | 1 | 1 | 0 | 0 | 1 |
| 1 | 1 | 1 | 1 | 0 | 0 | 0 |
| 0 | 0 | 1 | 0 | 1 | 1 | 0 |
| 1 | 1 | 1 | 1 | 0 | 1 | 0 |
| 0 | 0 | 0 | 1 | 0 | 0 | 1 |
| 1 | 1 | 1 | 1 | 0 | 0 | 0 |
| 1 | 1 | 1 | 1 | 1 | 1 | 0 |
| 1 | 1 | 0 | 1 | 0 | 0 | 0 |
| 1 | 1 | 0 | 1 | 1 | 0 | 1 |
| 0 | 0 | 1 | 0 | 0 | 1 | 0 |
| 1 | 1 | 0 | 1 | 0 | 1 | 0 |
| 1 | 0 | 1 | 1 | 1 | 1 | 1 |
| 1 | 0 | 1 | 1 | 1 | 1 | 0 |
| 1 | 1 | 0 | 1 | 0 | 1 | 0 |
| 0 | 0 | 0 | 1 | 0 | 1 | 0 |
| 1 | 0 | 1 | 1 | 0 | 0 | 0 |
| 1 | 1 | 1 | 1 | 1 | 1 | 0 |
| 1 | 0 | 1 | 1 | 1 | 1 | 1 |
| 0 | 1 | 0 | 1 | 1 | 1 | 0 |
| 1 | 1 | 1 | 1 | 0 | 1 | 1 |
| 1 | 1 | 1 | 1 | 0 | 0 | 0 |
| 0 | 0 | 1 | 1 | 0 | 1 | 0 |
| 1 | 1 | 1 | 1 | 0 | 1 | 1 |
| 0 | 1 | 0 | 0 | 1 | 1 | 1 |
| 1 | 1 | 1 | 1 | 0 | 1 | 1 |
| 1 | 0 | 1 | 1 | 1 | 1 | 0 |
> library(DT)
> library(psych)
> library(corrplot)
> library(ggplot2)
> library(car)
> library(REdaS)
> library(knitr)> library(readxl)
> Faktor_Serangan_Jantung <- read_excel("D:/kuliah nasywa/sem 5/anmul/praktikum/Faktor Serangan Jantung.xlsx")
> Faktor_Serangan_JantungUntuk membaca data dari excel diperlukan syntax
library(readxl) supaya dapat memuat pustaka atau paket
“readxl” ke dalam lingkungan R. Dengan memuat paket ini, Anda membuat
fungsi-fungsi yang diperlukan dari paket “readxl” tersedia untuk
digunakan dalam analisis Anda.
Kemudian untuk membaca data excel dengan nama file “Faktor Serangan
Jantung.xlsx” yang terletak pada disk laptop dan disimpan dengan nama
variabel Faktor_Serangan_Jantung digunakan syntax
Faktor_Serangan_Jantung <- read_excel("D:/kuliah nasywa/sem5/anmul/praktikum/
Faktor Serangan Jantung.xlsx").
Jika ingin menampilkan isi data dari file Excel tersebut dapat
memanggil variabel dengan nama Faktor_Serangan_Jantung
> for (i in 1:ncol(Faktor_Serangan_Jantung)) {
+ frekuensi_1 <- sum(Faktor_Serangan_Jantung[, i] == 1)
+ frekuensi_0 <- sum(Faktor_Serangan_Jantung[, i] == 0)
+ print(paste(colnames(Faktor_Serangan_Jantung)[i], "Jumlah 1 =",
+ frekuensi_1, "Jumlah 0 =", frekuensi_0, sep = " "))
+ }for (i in 1:ncol(Faktor_Serangan_Jantung)) adalah
loop for yang akan iterasi melalui setiap kolom dalam data frame
Faktor_Serangan_Jantung. Dimana i adalah
variabel iterasi yang akan mengambil nilai dari 1 hingga jumlah kolom
dalam data frame Faktor_Serangan_Jantung.
frekuensi_1 <- sum(Faktor_Serangan_Jantung[, i] == 1)
adalah pernyataan untuk menghitung frekuensi nilai 1 untuk kolom
ke-idalam data frame Faktor_Serangan_Jantung.
frekuensi_0 <- sum(Faktor_Serangan_Jantung[, i] == 0)adalah
pernyataan untuk menghitung frekuensi nilai 0 untuk kolom ke-idalam data
frame Faktor_Serangan_Jantung.
Untuk menampilkan frekuensi nilai 1 dan 0 untuk kolom
ke-i dapat digunakan syntax
print(paste(colnames(Faktor_Serangan_Jantung)[i], "Jumlah 1 =",frekuensi_1, "Jumlah 0 =",
frekuensi_0, sep = " ")).
Pernyataan library(REdaS) adalah perintah yang mencoba
memuat pustaka atau paket yang disebut “REdaS” ke dalam lingkungan R.
Setelah memuat pustaka “REdaS,” perintah
bart_spher(Faktor_Serangan_Jantung) mencoba menjalankan
fungsi bart_spher dengan argumen
Faktor_Serangan_Jantung. Fungsi ini digunakan untuk
melakukan analisis faktor menggunakan metode Bartlett’s Sphericity Test
pada variabel bernama Faktor_Serangan_Jantung.
Pernyataan library(REdaS) dalah perintah yang mencoba
memuat pustaka atau paket yang disebut “REdaS” ke dalam lingkungan R.
Setelah memuat pustaka “REdaS,” perintah
KMO_Result <- KMOS(Faktor_Serangan_Jantung) digunakan
untuk menjalankan fungsi KMOS dengan argumen
Faktor_Serangan_Jantung. Fungsi ini adalah upaya untuk
menghitung Measure of Sampling Adequacy (MSA) menggunakan metode
Kaiser-Meyer-Olkin (KMO) pada data Faktor_Serangan_Jantung.
Hasil perhitungan MSA akan disimpan dalam variabel bernama
KMO_Result. Untuk melihat hasil dari perhitungan KMO dapat
memanggil variabel bernama KMO_Result, sehingga dapat
digunakan untuk mengevaluasi apakah data Anda cocok untuk analisis
faktor.
> library(corrplot)
> datamatrix <- cor(Faktor_Serangan_Jantung)
> corrplot(datamatrix, method="number")library(corrplot) digunakan untuk memuat pustaka atau
paket “corrplot” ke dalam lingkungan R. Setelah itu, untuk menghitung
matriks korelasi dari data bernama Faktor_Serangan_Jantung
dapat digunakan syntax
datamatrix <- cor(Faktor_Serangan_Jantung). Dalam
konteks analisis faktor, matriks korelasi digunakan untuk mengukur
tingkat korelasi antara variabel-variabel dalam data tersebut. Kemudian,
untuk melihat visualisasi dari matriks korelasi yang telah dihitung
dapat digunakan fungsi corrplot dari paket “corrplot”.
Parameter method="number" digunakan untuk menampilkan nilai
korelasi sebagai angka di dalam sel matriks korelasi.
Digunakan fungsi eigen() untuk menghitung nilai eigen
dari matriks korelasi yang telah dihitung sebelumnya yaitu variabel
bernama datamatrix. Hasil perhitungan eigenvalues ini akan
disimpan dalam variabel yang diberi nama eigenvalues. Untuk
melihat nilai eigenvalues yang dihasilkan dari perhitungan sebelumnya
dapat dilakukan dengan memanggil variabel eigenvalues .
> scree_plot <- plot(eigenvalues, main = "Scree Plot",
+ xlab = "Faktor", ylab = "Nilai Eigen",
+ pch = 20, col = "Sky blue", type = "o", lwd = 1.5) +
+ axis(1, at = seq(1, 7)) +
+ abline(h = 1, col = "Red", lty = 2, lwd = 1)Untuk membuat grafik Scree Plot dapat digunakan syntax
scree_plot <- plot(eigenvalues, main = "Scree Plot", xlab = "Faktor", ylab = "Nilai Eigen", pch = 20, col = "Sky blue", type = "o", lwd = 1.5).
Dimana penjelasan dalam perintah ini adalah sebagai berikut:
eigenvalues merupakan vektor yang berisi nilai eigen
dari komponen-komponen (faktor-faktor) dalam analisis faktor.
main = "Scree Plot" digunakan untuk menetapkan judul
grafik menjadi “Scree Plot”.
xlab = "Faktor" digunakan untuk menjelaskan label
sumbu x (sumbu horizontal) dan diberi nama “Faktor”.
ylab = "Nilai Eigen" digunakan untuk menjelaskan
label sumbu y (sumbu vertikal) dan diberi nama “Nilai Eigen”.
pch = 20 digunakan untuk menentukan tipe simbol
(marker) dalam plot. Pilihan pch = 20 menghasilkan simbol
bulat yang berisi titik di tengahnya.
col = "Sky blue" digunakan untuk menentukan warna
plot. Pada syntax tersebut, warna digunakan adalah “Sky
blue”.
type = "o" digunakan untuk menentukan jenis plot.
“o” menghasilkan plot garis dengan titik.
lwd = 1.5 digunakan untuk mengatur lebar garis
plot.
Kemudian, untuk menambahkan sumbu x dengan tanda sumbu di titik-titik
1 hingga 16 sesuai dengan faktor yang tersedia dapat digunakan
syntax axis(1, at = seq(1, 7)). Hal ini membantu
mengidentifikasi setiap faktor dalam grafik. Lalu, untuk membentuk garis
horizontal pada nilai y = 1 (dalam warna merah) dengan jenis garis
putus-putus (lty = 2) dan lebar garis (lwd = 1) dapat digunakan
syntax
abline(h = 1, col = "Red", lty = 2, lwd = 1). Garis ini
digunakan untuk membantu menunjukkan batas yang umumnya digunakan untuk
memutuskan jumlah faktor yang akan dipertahankan. Faktor-faktor dengan
eigenvalues di atas garis ini akan dipertahankan, sedangkan
yang di bawahnya akan diabaikan.
Dengan PCA
> r <- Faktor_Serangan_Jantung
> nfactors <- 3 #Dapat dilihat dari Scree Plot
> PCA = principal(r, nfactors, rotate = "varimax")
> PCA$communalityvariabel r didefinisikan sebagai data yang disimpan
dalam Faktor_Serangan_Jantung. Jumlah faktor yang akan
diekstraksi dalam analisis faktor disimpan sebanyak 3 dengan
syntax nfactors <- 3 jumlah faktor ini dapat
disesuaikan berdasarkan hasil dari Scree Plot.
PCA = principal(r = data_corr, nfactors = nfaktor, rotate = "varimax")
syntax ini digunakan untuk menjalankan fungsi
principal() dalam melakukan analisis faktor. Dimana jenis
rotasi yang digunakan adalah metode rotasi varimax yang bertujuan untuk
membuat faktor-faktor menjadi lebih mudah diinterpretasikan.
Untuk mengakses nilai communalities (komunalitas) dari hasil analisis
faktor yang disimpan dalam objek PCA dapat dipanggil dengan
PCA$communality . Komunalitas adalah ukuran seberapa besar
varians suatu variabel dapat dijelaskan oleh faktor-faktor yang
diekstraksi. Dengan mengeksekusi baris ini, Anda mendapatkan nilai
komunalitas untuk setiap variabel dalam analisis faktor.
Dengan PFA
> r <- Faktor_Serangan_Jantung
> nfactors <- 3 #Dapat dilihat dari Scree Plot
> PFA <- fa(r, nfactors, rotate = "varimax", fm = "pa")
> PFAvariabel r didefinisikan sebagai data yang disimpan
dalam Faktor_Serangan_Jantung. Jumlah faktor yang akan
diekstraksi dalam analisis faktor disimpan sebanyak 3 dengan
syntax nfactors <- 3 jumlah faktor ini dapat
disesuaikan berdasarkan hasil dari Scree Plot. Kemudian, untuk melakukan
ekstrasi dan rotasi digunakan syntax berikut
PFA = fa(r, nfactors, rotate = "varimax", fm = "pa") .
Dimana jenis rotasi yang digunakan adalah metode rotasi varimax yang
bertujuan untuk membuat faktor-faktor menjadi lebih mudah
diinterpretasikan. fm = "pa" digunakan untuk menentukan
metode ekstraksi faktor yang akan digunakan. Dalam hal ini, digunakan
metode Principal Axis Factoring (PAF).
Fungsi fa.diagram() pada R digunakan untuk membuat
diagram faktor. Diagram faktor adalah diagram yang menunjukkan hubungan
antara variabel-variabel dengan faktor-faktor yang dihasilkan oleh
analisis faktor. Dimana fungsi fa.diagram() memiliki dua
argumen, yaitu PFA adalah hasil analisis faktor dan
rsize ukuran variabel pada diagram.
Berikut merupakan hasil dan pembahasan dari analisis faktor yang telah dilakukan.
> for (i in 1:ncol(Faktor_Serangan_Jantung)) {
+ frekuensi_1 <- sum(Faktor_Serangan_Jantung[, i] == 1)
+ frekuensi_0 <- sum(Faktor_Serangan_Jantung[, i] == 0)
+ print(paste(colnames(Faktor_Serangan_Jantung)[i], "Jumlah 1 =",
+ frekuensi_1, "Jumlah 0 =", frekuensi_0, sep = " "))
+ }
[1] "Gender Jumlah 1 = 176 Jumlah 0 = 74"
[1] "Diabetes Jumlah 1 = 178 Jumlah 0 = 72"
[1] "Family History Jumlah 1 = 130 Jumlah 0 = 120"
[1] "Smoking Jumlah 1 = 218 Jumlah 0 = 32"
[1] "Obesity Jumlah 1 = 117 Jumlah 0 = 133"
[1] "Alcohol Consumption Jumlah 1 = 149 Jumlah 0 = 101"
[1] "Previous Heart Problems Jumlah 1 = 122 Jumlah 0 = 128"Karena setiap variabel adalah data dengan skala nominal, maka statistika deskriptif yang ingin dilihat adalah frekuensi setiap variabelnya. Berdasarkan Output diatas didapatkan informasi frekuensi dan modus dari setiap variabel. Berikut merupakan interpretasi yang diperoleh.
Pada variabel Gender, diketahui pasien yang berjenis kelamin laki-laki sebanyak 176 pasien dan pasien yang berjenis kelamin perempuan sebanyak 74 pasien. Hal ini menunjukkan bahwa pasien yang paling banyak adalah pasien berjenis kelamin laki-laki.
Pada variabel Diabetes, diketahui pasien yang menderita diabetes sebanyak 178 pasien dan pasien yang tidak menderita diabetes sebanyak 72 pasien. Hal ini menunjukkan bahwa pasien yang paling banyak adalah pasien penderita diabetes.
Pada variabel Family History, diketahui pasien yang memiliki riwayat keluarga dengan masalah jantung sebanyak 130 pasien dan pasien yang tidak memiliki riwayat keluarga dengan masalah jantung sebanyak 120 pasien. Hal ini menunjukkan bahwa pasien yang paling banyak adalah pasien yang memiliki riwayat keluarga dengan masalah jantung.
Pada variabel Smoking, diketahui pasien yang merokok sebanyak 218 pasien dan pasien yang tidak merokok sebanyak 32 pasien. Hal ini menunjukkan bahwa pasien yang paling banyak adalah pasien yang merokok.
Pada variabel Obesity, diketahui pasien yang obesitas sebanyak 117 pasien dan pasien yang tidak obesitas sebanyak 133 pasien. Hal ini menunjukkan bahwa pasien yang paling banyak adalah pasien yang tidak obesitas.
Pada variabel Alcohol Consumption, diketahui pasien yang mengonsumsi alkohol sebanyak 149 pasien dan pasien yang tidak mengonsumsi alkohol sebanyak 101 pasien. Hal ini menunjukkan bahwa pasien yang paling banyak adalah pasien yang mengonsumsi alkohol.
Pada variabel Previous Heart Problems, diketahui pasien yang memiliki riwayat sakit jantung sebelumnya sebanyak 122 pasien dan pasien yang tidak memilki riwayat sakit jantung sebelumnya sebanyak 128 pasien. Hal ini menunjukkan bahwa pasien yang paling banyak adalah pasien yang tidak memiliki riwayat sakit jantung sebelumnya.
> library(REdaS)
> bart_spher(Faktor_Serangan_Jantung)
Bartlett's Test of Sphericity
Call: bart_spher(x = Faktor_Serangan_Jantung)
X2 = 137.007
df = 21
p-value < 2.22e-16Hipotesis
\(H_0:\) matriks korelasi adalah matriks identitas (Tidak terdapat korelasi yang signifikan setidaknya antar beberapa variabel)
\(H_1:\) matriks korelasi bukan matriks identitas (Terdapat korelasi yang signifikan setidaknya antar beberapa variabel)
Keputusan
Berdasarkan hasil output tersebut didapatkan p-value sebesar 2.22e-16. Karena p-value (2.22e-16) < \(a\) (0.05), maka tolak \(H_0\).
Interpretasi
Dengan taraf nyata 5% dapat disimpulkan bahwa terdapat cukup bukti untuk menyatakan bahwa terdapat korelasi yang signifikan setidaknya antar beberapa variabel, sehingga matriks korelasi antar variabel pada data layak digunakan dalam analisis faktor.
> library(REdaS)
> KMO_Result <- KMOS(Faktor_Serangan_Jantung)
> KMO_Result
Kaiser-Meyer-Olkin Statistics
Call: KMOS(x = Faktor_Serangan_Jantung)
Measures of Sampling Adequacy (MSA):
Gender Diabetes Family History
0.5217582 0.5920957 0.5914835
Smoking Obesity Alcohol Consumption
0.5250781 0.6114026 0.5598111
Previous Heart Problems
0.5459596
KMO-Criterion: 0.5354453Berdasarkan output, diperoleh nilai KMO-Criterion (overall MSA) sebesar 0.5354453 > 0.5. Hal ini berarti bahwa analisis faktor dapat diterapkan menggunakan matriks korelasi antar variabel pada data. Selain itu, didapatkan seluruh nilai MSA untuk setiap variabel yang bernilai > 0.5. Hal ini juga berarti bahwa semua variabel dapat diikutsertakan dalam analisis faktor selanjutnya.
> library(corrplot)
> datamatrix <- cor(Faktor_Serangan_Jantung)
> corrplot(datamatrix, method="number")Berdasarkan hasil plot matriks korelasi yang dibentuk, diperoleh informasi bahwa nilai koefisien korelasi antar variabel tidak sama dengan 0. Hal ini menunjukkan adanya hubungan pada setiap variabelnya sehingga memenuhi asumsi model analisis faktor. Selain itu diketahui korelasi antar variabel Gender dengan variabel Smoking sebesar 0.59, dimana nilai ini lebih besar dari korelasi variabel lainnya.
> eigenvalues <- eigen(datamatrix)$values
> eigenvalues
[1] 1.6847060 1.3101287 1.0573519 0.8822130 0.8649796 0.7972028 0.4034180Berdasarkan output yang didapatkan, diperoleh informasi nilai eigen setiap variabelnya. Dimana variabel yang memiliki nilai eigen lebih dari satu ada pada komponen 1, komponen 2, dan komponen 3. Sehingga dapat disimpulkan bahwa faktor yang dapat menjelaskan keseluruhan data (faktor bermakna) hanya terdapat 3 faktor, maka faktor akan direduksi hingga 3 faktor saja.
> scree_plot <- plot(eigenvalues, main = "Scree Plot",
+ xlab = "Faktor", ylab = "Nilai Eigen",
+ pch = 20, col = "Sky blue", type = "o", lwd = 1.5) +
+ axis(1, at = seq(1, 7)) +
+ abline(h = 1, col = "Red", lty = 2, lwd = 1)Pernyataan bahwa terdapat banyak faktor bermakna yang akan diekstrak adalah sebanyak 3 faktor diperkuat dengan hasil scree plot ini. Berdasarkan scree plot, terlihat bahwa terdapat 3 faktor pertama yang memiliki nilai eigen lebih dari 1 (cukup baik dalam menjelaskan varians masing-masing variabel).
Dengan PCA
> r <- Faktor_Serangan_Jantung
> nfactors <- 3 #Dapat dilihat dari Scree Plot
> PCA = principal(r, nfactors, rotate = "varimax")
> PCA$communality
Gender Diabetes Family History
0.7671935 0.4633229 0.3835764
Smoking Obesity Alcohol Consumption
0.7465308 0.6708019 0.5161468
Previous Heart Problems
0.5046142 Nilai komunalitas menunjukkan bahwa variabel tersebut apakah dapat dijelaskan dengan baik oleh komponen-komponen utama dan dapat dikatakan sebagai variabel yang penting dalam menjelaskan struktur data. Variabel dikatakan dapat menjelaskan faktor dengan baik jika memiliki nilai komunalitas lebih dari 0.5. Dengan demikian, dapat disimpulkan variabel yang dapat menjelaskan faktor dengan baik adalah variabel Gender, Smoking, Obesity, Alcohol Consumption, dan Previous Heart Problems. Sedangkan variabel yang kurang dapat menjelaskan faktor dengan baik adalah variabel Diabetes dan Family History. Hal ini menunjukkan bahwa ekstrasi dengan PCA kurang cocok dengan kasus ini.
Dengan PFA
> r <- Faktor_Serangan_Jantung
> nfactors <- 3 #Dapat dilihat dari Scree Plot
> PFA <- fa(r, nfactors, rotate = "varimax", fm = "pa")
> PFA
Factor Analysis using method = pa
Call: fa(r = r, nfactors = nfactors, rotate = "varimax", fm = "pa")
Standardized loadings (pattern matrix) based upon correlation matrix
PA1 PA2 PA3 h2 u2 com
Gender 0.82 -0.02 0.12 0.69 0.31 1.0
Diabetes 0.09 0.31 -0.02 0.10 0.90 1.2
Family History 0.13 -0.29 -0.11 0.11 0.89 1.7
Smoking 0.71 0.01 0.05 0.51 0.49 1.0
Obesity 0.13 -0.03 0.48 0.25 0.75 1.2
Alcohol Consumption 0.08 -0.30 -0.24 0.15 0.85 2.1
Previous Heart Problems 0.01 0.41 -0.07 0.17 0.83 1.1
PA1 PA2 PA3
SS loadings 1.23 0.43 0.32
Proportion Var 0.18 0.06 0.05
Cumulative Var 0.18 0.24 0.28
Proportion Explained 0.62 0.22 0.16
Cumulative Proportion 0.62 0.84 1.00
Mean item complexity = 1.3
Test of the hypothesis that 3 factors are sufficient.
df null model = 21 with the objective function = 0.56 with Chi Square = 137.01
df of the model are 3 and the objective function was 0
The root mean square of the residuals (RMSR) is 0.01
The df corrected root mean square of the residuals is 0.02
The harmonic n.obs is 250 with the empirical chi square 0.74 with prob < 0.86
The total n.obs was 250 with Likelihood Chi Square = 0.96 with prob < 0.81
Tucker Lewis Index of factoring reliability = 1.124
RMSEA index = 0 and the 90 % confidence intervals are 0 0.066
BIC = -15.61
Fit based upon off diagonal values = 1
Measures of factor score adequacy
PA1 PA2 PA3
Correlation of (regression) scores with factors 0.87 0.58 0.53
Multiple R square of scores with factors 0.76 0.33 0.28
Minimum correlation of possible factor scores 0.51 -0.33 -0.43Berdasarkan hasil analisis faktor pada output tersebut terdapat 3 faktor yang mempengaruhi resiko serangan jantung.Dimana, untuk melihat setiap variabel lebih dominan berada pada faktor 1, 2, atau 3 dapat diketahui dari persamaan berikut:
\(X_1 = 0.82 F_1 - 0.02 F_2 + 0.12
F_3\)
\(X_2 = 0.09 F_1 + 0.31 F_2 - 0.02
F_3\)
\(X_3 = 0.13 F_1 - 0.29 F_2 - 0.11
F_3\)
\(X_4 = 0.71 F_1 + 0.01 F_2 + 0.05
F_3\)
\(X_5 = 0.13 F_1 - 0.03 F_2 + 0.48
F_3\)
\(X_6 = 0.08 F_1 - 0.30 F_2 - 0.24
F_3\)
\(X_7 = 0.01 F_1 + 0.41 F_2 - 0.07
F_3\)
Untuk memastikan suatu variabel masuk dalam kelompok faktor 1, 2, atau 3 dapat ditentukan dengan melihat nilai mutlak korelasi terbesar antara variabel dengan faktor (Component) yang terbentuk. Tanda positif dan negatif menunjukkan arah korelasi dari variabel tersebut. Hal ini berarti bahwa variabel \(X_1\) dan \(X_4\) masuk dalam faktor 1, variabel \(X_2\), \(X_6\), dan \(X_7\) masuk dalam faktor 2, variabel \(X_5\) masuk dalam faktor 3, sedangkan variabel \(X_3\) tidak masuk dalam faktor karena memiliki nilai korelasi yang terlalu kecil. Hal ini mengindikasikan bahwa variabel \(X_3\) dijelaskan dengan lebih baik oleh faktor lain di luar model.
Selain itu didapatkan nilai proporsi ragam (Proportion Var) setiap faktor sebagai berikut:
Faktor 1 = 0.18
Faktor 2 = 0.06
Faktor 3 = 0.05
Hal ini menunjukkan bahwa faktor yang paling dominan adalah faktor 1 karena memiliki nilai proporsi ragam terbesar. Dimana faktor pertama mampu menjelaskan keragaman sebesar 18%, faktor kedua sebesar 6%, dan faktor ketiga sebesar 5%. Secara kumulatif, ketiga faktor ini mampu menjelaskan keragaman sebesar 29%.
Berdasarkan hasil output tersebut memperkuat pernyataan sebelumnya. Sehingga dapat disimpulkan sebagai berikut:
Berdasarkan hasil analisis faktor yang telah dilakukan didapatkan 3 faktor dari 7 variabel yang mempengaruhi resiko serangan jantung. Ketiga faktor tersebut diinterpretasikan sebagai faktor gaya hidup, faktor medis, dan faktor obesitas. Faktor gaya hidup terdiri dari variabel gender dan smoking, faktor medis terdiri dari variabel diabetes, alcohol consumption, dan previous heart problems, serta faktor obesitas terdiri dari variabel obesity. Variabel family history tidak memilki korelasi yang signifikan pada ketiga faktor yang terbentuk. Hal ini mengindikasikan bahwa variabel \(X_3\) dijelaskan dengan lebih baik oleh faktor lain di luar model. Ketiga faktor tersebut dapat menjelaskan keragaman dari variabel sebesar 29%.
Selain itu, faktor yang dominan dari ketiga faktor adalah faktor gaya hidup. Hal ini dikarenakan faktor gaya hidup menjelaskan keragaman variabel sebesar 18%, sedangkan, faktor medis hanya mampu menjelaskan sebesar 6% dan faktor obesitas hanya mampu menjelaskan sebesar 5%.
Melalui hal tersebut diharapkan masyarakat lebih mengetahui faktor-faktor apa saja yang dapat mempengaruhi resiko terjadinya serangan jantung. Sehingga masyarakat mengetahui tentang pentingnya kesadaran akan faktor-faktor risiko serangan jantung dan langkah-langkah preventif yang dapat diambil.
Adapun saran dalam penelitian ini:
Melakukan penelitian dengan sampel yang lebih besar. Sampel yang lebih besar dapat memberikan hasil penelitian yang lebih akurat dan dapat digeneralisasi ke populasi yang lebih luas.
Meneliti variabel-variabel yang berbeda. Hal ini bertujuan untuk mendapatkan pemahaman yang lebih luas tentang topik penelitian. Sehingga dapat diketahui faktor-faktor apa saja yang mungkin mempengaruhi resiko serangan jantung.
Cleff, T. (2019). Applied Statistics and Multivariate Data Analysis for Business and Economics: A Modern Approach Using SPSS, Stata, and Excel. Springer.
Khoirunisa, Dede. (2014). Pengetahuan Keluarga dalam Pertolongan Pertama Serangan Jantung / INFARK MIOKARD Di Poli Jantung RSUD Dr. Harjono Ponorogo. Skripsi thesis, Universitas Muhammadiyah Ponorogo.
Nugroho, Sigit. (2008). Statistika Multivariat Terapan. Bengkulu: UNIB Press.
Sumber data : https://www.kaggle.com/datasets/iamsouravbanerjee/heart-attack-prediction-dataset/