PENDAHULUAN

Latar Belakang

Gaya hidup seseorang memiliki peran yang signifikan dalam menentukan perilaku hidup sehat. Pola gaya hidup, seperti pola makan, tingkat aktivitas fisik, kebiasaan, lingkungan sekitar, dan lainnya memiliki dampak yang besar terhadap perilaku hidup sehat seseorang. Oleh karena itu, memahami hubungan antara gaya hidup dan perilaku hidup sehat sangat penting untuk mendorong perubahan yang lebih positif dalam hidup demi mencapai kesehatan yang lebih baik.

Perilaku Hidup Sehat dan Bersih (PHBS) dapat diartikan juga dalam gaya hidup kelompok yang selaras mengawasi dan memelihara kesehatan pada tubuh manusia, seperti memperhatikan kebersihan diri. Terdapat dua faktor utama yang dapat mempengaruhi kesehatan dalam menjaga kesehatan, yaitu faktor perilaku dan fakor nonperilaku. Pada faktor perilaku merupakan faktor yang timbul dari kebiasan yang sering kita lakukan, yaitu memahami bahwa seseorang dapat memengaruhi faktor perilaku mereka sendiri, seperti diet dan aktivitas fisik, sementara faktor non-perilaku contohnya karena faktor genetika yang mungkin sulit untuk diubah. Namun, kesadaran tentang faktor-faktor ini dan upaya untuk mengadopsi pola perilaku sehat dapat membantu dalam menjaga dan meningkatkan kesehatan secara keseluruhan.

Perilaku adalah totalitas dari penghayatan dan aktivitas yang memengaruhi proses perhatian, pengamatan, pikiran, daya ingat dan fantasi seseorang. Meskipun perilaku adalah totalitas respons, namun semua respons sangat tergantung pada karakteristik individual (Adliyani, 2015) Perilaku hidup bersih dan sehat juga dapat dipengaruhi dari banyak faktor antara lain makanan dan minuman yang terdiri dari kebiasan makan pagi, mencuci tangan sebelum dan sesudah makan, fakotr kedua adalah faktor perilaku terhadap kebersihan diri seperti mandi, membersihkan mulut, gigi tangan, kaki dan kebersihan pakaian, faktor terakhir adalah faktor perilaku kebersihan terhadap lingkungan seperti membuah sampah pada tempatnya.

Pada tahun 2021, akibat terjadinya masa pandemi COVID-19 hal tersebut menyebabkan telah menggantikan kebiasan hidup masyarakat menjadi memperhatikan kebersihan diri yang lebih signifikan. Kebiasaan masyarakat sejak saat itu membuat sangat berdampak positif hingga kehidupan saat ini. Pembiasaan perilaku kehidupan sehat juga perlu ditanamkan sejak dini tanpa perlu menunda-nunda karena akan membentuk pola hidup sehat yang akan membentuk gaya hidup yang sehat. Pandemi COVID-19 juga terjadi diseluruh negara, dengan demikian dapat mengevaluasi berbagai aspek kesehatan dan gaya hidup di kota-kota di seluruh dunia. Sehingga dapat memberikan gambaran tentang bagaimana faktor-faktor seperti lingkungan, akses ke fasilitas kesehatan, kebiasaan penduduk, dan kebijakan setiap negara memengaruhi kualitas hidup dan kesehatan masyarakat.

Latar Belakang Metode

Jenis penelitian ini adalah penelitian kuantitatif dengan menggunakan metode analisis faktor, yaitu Principal Component Analysis (PCA). PCA diterapkan dalam penelitian ini dan menguji faktor yang sangat mempengaruhi dalam gaya hidup sehat. Pada analisis faktor ini, PCA mengidentifikasi pola dan kumpulan data serta menemukan persamaan dan perbedaan yang terdapat pada masing-masing faktor. Pendeketan pada analisis PCA yaitu dilakukan untuk menyederhanakan dan menghilangkan faktor-faktor yang kurang dominan atau relevan yang mempengaruhi terhadap variabe yang akan di teliti. Sehingga dengan analisis PCA diharapkan memberikan hasil yang terbaik ketika diterapkan pada setiap atribut yang berkorelasi.

PCA merupakan suatu teknik seleksi data multivariat (multivariable) yang mengubah atau mengtransformasi suatu matriks data asli menjadi sekumpulan kombinasi homogen yang lebih sedikit namun menyerap sejumlah besar carian pada data awal (M. Zulfahmi, 2019). Pada penelitian ini tahap analisis dilakukan dengan mengumpulkan faktor-faktor yang mempengaruhi gaya hidup di 44 kota teratas. Penelitian ini menggunakan data yang sudah tersedia dari kaggle. Terdapat 10 variabel yang digunakan dalam penelitian ini, yaitu Sunshine hours, cost of a bottle of water, obesity levels, life expectancy, pollution (index score), annual avg. hours worked, happiness levels, outdoor activities, number of take out places, dan cost a monthly gym membership.

Tinjauan Pustaka

Principal Component Analysis (PCA) merupakan teknik analisis multivarian yang memiliki banyak kelebihan yaitu mampu mengidentifikasi hubungan linier di antara kelompok variabel, menganalisis kelompok data dalam jumlah banyak, menganalisis data variabel yang tidak homogen, serta mampu menganalisis hubungan antar paramter (Istatik dan Tarzan, 2012). Analisis kompenen utama juga diartikan sebagai kombinasi linier dari variabel awal yang dimana komnbinasi liiear ini dikatakan sistem kordinat baru yang diperoleh dari rotasi sistem yang semula. Pada analsis PCA, variabel yang awalnya sebanyak n variabel akan diseleksi atau disederhanakan menjadi variabel baru yang disebut dengan principal component.

Menurut (Jolliffe, 2002), prosedur pengerjaan Principal component Analysis bertujuan untuk menyederhanakan dan menghilangkan faktor atau indikator skrining yang kurang dominan dan kurang relevan tanpa mengurangi maksud dan tujuan dari data asli dari variabel acak x adalah sebagai berikut:

  1. Menghitung matriks varians kovarians dari data observasi.
  2. Mencari eigenvalues dan eigenvector dari matriks kovarians yang telah diperoleh
  3. Menentukan nilai proporsi Princpal Component (proporsi Principal Component (%)) dengan persamaan:
  4. Menghitung bobot faktor (facctor loading) berdasarkan eigenvector dengan persamaan:

Tujuan

Penelitian kali ini, memberikan gambaran tentang bagaimana faktor-faktor baik faktor internal ataupun eksternal memengaruhi kualitas hidup dan kesehatan masyarakat. Dengan penelitian ini diharapkan dapat memahami bagaimana kota-kota memberikan informasi dalam infrastruktur, lingkungan, dan kebiasaan gaya hidup sehat. Sehingga, penelitian ini dapat memberikan inspirasi bagi kota-kota lain untuk meningkatkan kualitas hidup penduduknya dan menciptakan lingkungan yang mendukung kehidupan yang lebih sehat betapa pentingnya fokus pada kesehatan dan gaya hidup yang sehat dalam perkembangan kota-kota di masa yang akan datang.

Data

Data yang digunakan untuk penelitian kali ini yaitu menggunakan dataset yang berasal dari kaggle pada tahun 2021 yang didapatan kumpulan data dari 44 kota teratas berdasarkan gaya hidup sehat, dengan beberapa variabel independen atau prediktor yang mempengaruhi gaya hidup sehat yaitu:

X1 : Sunshine hours

X2 : Cost of a bottle of water

X3 : Obesity levels

X4 : Life expectancy

X5 : Pollution (Index Score)

X6 : Annual avg. hours worked

X7 : Happiness Levels

X8 : Outdoor activities

X9 : Number of take out places

X10 : Cost a monthly gym membership

5 Data teratas yang digunakan:

Gaya Hidup Sehat menurut Kota Teratas Pada Tahun 2021
Negara X1 X2 X3 X4 X5 X6 X7 X8 X9 X10
Amsterdam 1858 1.92 20.40 81.20 30.93 1434 7.44 422 1048 34.90
Sydney 2636 1.48 29.00 82.10 16.86 1712 7.22 406 1103 41.66
Vienna 1884 1.94 20.10 81.00 17.33 1501 7.29 132 1008 25.74
Stockholm 1821 1.72 20.60 81.80 19.63 1452 7.35 129 598 37.31
Copenhagen 1630 2.19 19.70 79.80 21.24 1380 6.64 154 523 32.53

SOURCE CODE

Library yang digunakan

> library(readxl)

Library readxl : Mem-import data dari file Excel

> library(corrr)

Library corrr : Menghitung matriks korelasi antar variabel

> library(ggplot2)

Library ggplot2 : visualisasi data, membuat grafik.

> library(factoextra)

Library factoextra : visualisasi grafik dalam analisis data pada PCA.

> library(FactoMineR)

Library FactoMineR : Mereduksi dimensi untuk mengidentifikasi hubungan antar variabel-variabel dalam data.

> library(PerformanceAnalytics)

Library PerformanceAnalytics : Membantu dalam visualisasi hasil dari PCA.

> library(ggfortify)

Library ggfortify : Membuat visualisasi plot dari hasil PCA.

> library(corrplot)
> library(ggcorrplot)

Library corrplot dan ggcorrplot : visualisasi matriks korelasi antar variabel

Analisis Komponen Utama (PCA)

Input Data

Memasukkan data yang sebagai bahan penelitian untuk menganalisis komponen yang akan menjadi faktor mempengaruhi dalam gaya hidup sehat pada 44 kota, dengan memberikan nama data_healthylifestyle sebagai objek.

> data_healthylifestyle <- read_excel("C:/Users/Hp/Downloads/data_healthylifestyle.xlsx")
> data_healthylifestyle = data_healthylifestyle[-1]
> data_healthylifestyle
# A tibble: 44 × 10
      X1    X2    X3    X4    X5    X6    X7    X8    X9   X10
   <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
 1  1858  1.92  20.4  81.2  30.9  1434  7.44   422  1048  34.9
 2  2636  1.48  29    82.1  26.9  1712  7.22   406  1103  41.7
 3  1884  1.94  20.1  81    17.3  1501  7.29   132  1008  25.7
 4  1821  1.72  20.6  81.8  19.6  1452  7.35   129   598  37.3
 5  1630  2.19  19.7  79.8  21.2  1380  7.64   154   523  32.5
 6  1662  1.6   22.2  80.4  13.1  1540  7.8    113   309  35.2
 7  2769  0.78   4.3  83.2   0    1644  5.87    35   539  55.9
 8  1626  1.55  22.3  80.6  39.4  1386  7.07   254  1729  26.1
 9  2591  1.19  23.8  82.2  65.2  1686  6.4    585  2344  37.8
10  1938  1.08  29.4  81.7  24.3  1670  7.23   218   788  31.0
# ℹ 34 more rows

Struktur Data

Menampilkan struktur pada objek data dengan menampilkan tipe atau jenis data objek, jumlah elemen pada setiap objek, dan lainnya.

> struktur_data = str(data_healthylifestyle)
tibble [44 × 10] (S3: tbl_df/tbl/data.frame)
 $ X1 : num [1:44] 1858 2636 1884 1821 1630 ...
 $ X2 : num [1:44] 1.92 1.48 1.94 1.72 2.19 1.6 0.78 1.55 1.19 1.08 ...
 $ X3 : num [1:44] 20.4 29 20.1 20.6 19.7 22.2 4.3 22.3 23.8 29.4 ...
 $ X4 : num [1:44] 81.2 82.1 81 81.8 79.8 80.4 83.2 80.6 82.2 81.7 ...
 $ X5 : num [1:44] 30.9 26.9 17.3 19.6 21.2 ...
 $ X6 : num [1:44] 1434 1712 1501 1452 1380 ...
 $ X7 : num [1:44] 7.44 7.22 7.29 7.35 7.64 7.8 5.87 7.07 6.4 7.23 ...
 $ X8 : num [1:44] 422 406 132 129 154 113 35 254 585 218 ...
 $ X9 : num [1:44] 1048 1103 1008 598 523 ...
 $ X10: num [1:44] 34.9 41.7 25.7 37.3 32.5 ...

Statistika Deskriptif

Memberikan informasi terkait ringkasan data statistika deskriptif pada setiap variabel.

> stat_deskriptif = summary(data_healthylifestyle)

Analisis Hubungan Antar Variabel

Memberikan informasi terkait nilai-nilai korelasi antar variabel yang digunakan untuk memahami dan mengukur pada setiap variabel yang memiliki hubungan korelasi paling besar.

> korelasi = cor(data_healthylifestyle)
> corr_matrix = cor(data_healthylifestyle)
> matrix_korelasi = ggcorrplot(corr_matrix)
> datamatrix = cor(data_healthylifestyle)
> plot_matrix = corrplot(datamatrix, method="number")

Scalling Data

Scalling data dilakukan untuk membuat numerical data pada dataset memiliki rentang nilai (scale) yang sama. Dimana tidak ada lagi satu variabel data yang mendominasi variabel data lainnya. Dilakukan standarisasi data dengan mean 0 (nol) dan standar deviasi 1 (satu) atau z-score scalling.

> scaling_data = scale(data_healthylifestyle)

Menampilkan Kumulatif Nilai Eigen dan Vektor Eigen

Dengan Matriks Kovarians

  1. Matriks Kovarians

    Melakukan truktur varian asli dari dataset dan dilakukan analisis jika variabel memiliki unit satuan yang sama.

> matrix_cov = cov(scaling_data)
  1. Nilai Eigen dan Vektor Eigen

    Nilai eigen dilakukakan untuk mengukur ukuran dari variasi yang dijelaskan pada masing-masing komponen utama yang akan terbentuk. Vektor eigen digunakan untuk melihat arah pada komponen utama yang terbentu.

> nilaivektoreigen_cov = eigen(matrix_cov)
  1. Nilai Kumulatif Eigen

    Nilai kumulatif dilakukan untuk menentukan jumlah komponen utama yang akan dipertahankan pada analisis komponen utama (PCA).

> kumeigen_cov = for (eg in nilaivektoreigen_cov$values){
+   print(eg/sum(nilaivektoreigen_cov$values))}
[1] 0.4123472
[1] 0.172973
[1] 0.138257
[1] 0.0884107
[1] 0.05081895
[1] 0.0434596
[1] 0.03380241
[1] 0.02989885
[1] 0.01926508
[1] 0.01076715
  1. Persamaan PC

    Menghitung komponen utama dari dataset asli berdasarkan nilai dan vektor eigen dari matriks kovarians yang sudah terbentuk

> PCMatrix_cov = nilaivektoreigen_cov$vectors[,1:3]
  1. Scree Plot

    Membentuk scree plot berdasarkan nilai eigen dilakukan untuk mengukur ukuran variasi yang dijelaskan pada masing-masing variabel pada komponen utama, serta vektor eigen digunakan sebagai arah dari komponen utama tersebut.

> scree_plot <- plot(nilaivektoreigen_cov$values, xlab="Eigenvalue Number", ylab="Eigenvalue Size", main="Scree Plot Healthy Lifestyle")
> screeplot_garis <- lines(nilaivektoreigen_cov$values)

Dengan Matriks Korelasi

  1. Matriks Korelasi Dilakukan untuk mengetahui hubungan antar variabel dan akan dianalisis pada variabel yang memiliki unit satuan yang berbeda.
> matrix_corr = cor(data_healthylifestyle)
  1. Nilai Eigen dan Vektor Eigen Nilai eigen digunakan untuk mengukur ukuran dari variasi yang terbentuk pada masing-masing komponen utama, serta vektor eigen digunakan untuk sebagai arah dari komponen utama.
> nilaivektoreigen_cor = eigen(matrix_corr)
  1. Nilai Kumulatif Eigen Dilakukan untuk menentukan jumlah komponen uatama yang akan dipertahakan pada analisis komponen utama.
> kumeigen_cor = for (cor in nilaivektoreigen_cor$values){
+   print(cor/sum(nilaivektoreigen_cor$values))}
[1] 0.4123472
[1] 0.172973
[1] 0.138257
[1] 0.0884107
[1] 0.05081895
[1] 0.0434596
[1] 0.03380241
[1] 0.02989885
[1] 0.01926508
[1] 0.01076715
  1. Persamaan PC Menghitung komponen utama yang akan dipertahankan pada analisis PCA
> PCMatrix_cor = nilaivektoreigen_cor$vectors[,1:3]

Analisis PCA

Fungsi “prcomp”

  1. Prcomp Fungsi prcomp dilakukan untuk mengurangi dimensi data multidimensi dan dilakukan identifikasi pola pada struktur yang terdapat pada dataset. Kemudian ‘summary’ dilakukan untuk memberikan ringkasan informasi dari hasil analisis komponen utama yang disimpan pada pada data tersebut.
> pca1 = prcomp(data_healthylifestyle, center = TRUE,scale. = TRUE)
> summary(pca1)
Importance of components:
                          PC1    PC2    PC3     PC4     PC5     PC6    PC7
Standard deviation     2.0306 1.3152 1.1758 0.94027 0.71287 0.65924 0.5814
Proportion of Variance 0.4123 0.1730 0.1383 0.08841 0.05082 0.04346 0.0338
Cumulative Proportion  0.4123 0.5853 0.7236 0.81199 0.86281 0.90627 0.9401
                          PC8     PC9    PC10
Standard deviation     0.5468 0.43892 0.32813
Proportion of Variance 0.0299 0.01927 0.01077
Cumulative Proportion  0.9700 0.98923 1.00000
  1. Matriks Rotasi Matriks Rotasi digunakan untuk mengubah komponen utama hasil dari analisis faktor sehingga mendapat hasil yang mudah diinterpretasi.
> matrix_rotasi = print(pca1$rotation[, 1:4], digits = 3)
          PC1     PC2     PC3     PC4
X1   0.226286  0.2345  0.4926  0.5193
X2  -0.429466 -0.0933  0.0434 -0.1244
X3  -0.166393  0.3824  0.5913 -0.1071
X4  -0.405809  0.0802 -0.1966  0.0849
X5   0.396372  0.1594 -0.0792  0.0169
X6  -0.378569  0.2688  0.1274  0.1010
X7  -0.452569  0.0749  0.0945 -0.1587
X8   0.109585  0.6242 -0.1609 -0.0594
X9  -0.000882  0.5383 -0.4813 -0.1005
X10 -0.233951 -0.0323 -0.2795  0.8043

Fungsi “princomp”

  1. Princomp Fungsi princomp dilakukan untuk menganalisis komponen utama (PCA) dan dilakukan untuk menunjukkan bahwa korelasi antar variabel yang akan digunakan dalam perhitungan PCA. Kemudian ‘summary’ dilakukan untuk memberikan ringkasan informasi dari hasil analisis komponen utama yang disimpan pada pada data tersebut.
> pca2 = princomp(x=data_healthylifestyle, cor=T)
> summary(pca2)
Importance of components:
                          Comp.1    Comp.2    Comp.3    Comp.4     Comp.5
Standard deviation     2.0306335 1.3151920 1.1758274 0.9402697 0.71287408
Proportion of Variance 0.4123472 0.1729730 0.1382570 0.0884107 0.05081895
Cumulative Proportion  0.4123472 0.5853203 0.7235773 0.8119880 0.86280692
                          Comp.6     Comp.7     Comp.8     Comp.9    Comp.10
Standard deviation     0.6592389 0.58139842 0.54679837 0.43892000 0.32813332
Proportion of Variance 0.0434596 0.03380241 0.02989885 0.01926508 0.01076715
Cumulative Proportion  0.9062665 0.94006893 0.96996778 0.98923285 1.00000000
  1. Nilai Loadings Mencetak nilai “loadings” dari analisis PCA yang terbentuk, dengan menunjukkan seberapa besar nilai setiap variabel berkontribusi terhadap komponen utama serta hanya menunjukkan nilai loadings yang melebihi nilai 0.1
> print(pca2$loadings, digits=3, cutoff = 0.1) 

Loadings:
    Comp.1 Comp.2 Comp.3 Comp.4 Comp.5 Comp.6 Comp.7 Comp.8 Comp.9 Comp.10
X1   0.226  0.234  0.493  0.519  0.239                0.515  0.227        
X2  -0.429               -0.124 -0.268  0.315 -0.268  0.202  0.665 -0.251 
X3  -0.166  0.382  0.591 -0.107 -0.426               -0.148 -0.380 -0.342 
X4  -0.406        -0.197         0.449 -0.255 -0.418  0.276 -0.324 -0.401 
X5   0.396  0.159               -0.349 -0.364 -0.719                0.173 
X6  -0.379  0.269  0.127  0.101  0.187 -0.546  0.131 -0.470  0.397  0.171 
X7  -0.453               -0.159         0.105 -0.120  0.286 -0.243  0.764 
X8   0.110  0.624 -0.161         0.337  0.565 -0.205 -0.295               
X9          0.538 -0.481 -0.100 -0.306 -0.200  0.400  0.404               
X10 -0.234        -0.280  0.804 -0.344  0.187        -0.206 -0.147        

               Comp.1 Comp.2 Comp.3 Comp.4 Comp.5 Comp.6 Comp.7 Comp.8 Comp.9
SS loadings       1.0    1.0    1.0    1.0    1.0    1.0    1.0    1.0    1.0
Proportion Var    0.1    0.1    0.1    0.1    0.1    0.1    0.1    0.1    0.1
Cumulative Var    0.1    0.2    0.3    0.4    0.5    0.6    0.7    0.8    0.9
               Comp.10
SS loadings        1.0
Proportion Var     0.1
Cumulative Var     1.0
  1. Nilai Kontribusi

    Nilai kontribusi ditunjukkan untuk mendapatkan informasi variasi yang dijelaskan oleh setiap komponen utama, dengan akan menampilkan niali kontribusi pada masing-masing variabel terhadap setiap komponen utama.

> pca.var = get_pca_var(pca2)
> pca.var$contrib
           Dim.1      Dim.2      Dim.3       Dim.4      Dim.5        Dim.6
X1  5.120520e+00  5.4981081 24.2702403 26.96296028  5.7330424  0.004466945
X2  1.844407e+01  0.8705726  0.1886721  1.54725412  7.1854486  9.893316225
X3  2.768670e+00 14.6242152 34.9621982  1.14787233 18.1591854  0.030597981
X4  1.646806e+01  0.6434592  3.8648369  0.72064820 20.1423647  6.506424732
X5  1.571109e+01  2.5418976  0.6274948  0.02859099 12.1596584 13.268833223
X6  1.433145e+01  7.2237344  1.6230410  1.01913247  3.4925860 29.796316096
X7  2.048185e+01  0.5603002  0.8932177  2.51781488  0.5371068  1.104082314
X8  1.200886e+00 38.9599793  2.5892350  0.35318599 11.3660852 31.875889640
X9  7.784928e-05 28.9734015 23.1685147  1.00930404  9.3840147  4.017158017
X10 5.473322e+00  0.1043319  7.8125493 64.69323670 11.8405076  3.502914827
           Dim.7       Dim.8      Dim.9     Dim.10
X1   0.264969364 26.54593964  5.1440619  0.4556910
X2   7.179041976  4.08753216 44.2830935  6.3209996
X3   0.006861153  2.18128437 14.4341426 11.6849732
X4  17.480721065  7.60916039 10.5068955 16.0574267
X5  51.654815377  0.02452016  0.9809122  3.0021865
X6   1.725493130 22.07431358 15.7933958  2.9205343
X7   1.451070255  8.18257913  5.9250102 58.3469695
X8   4.204029883  8.72868312  0.3299466  0.3920794
X9  15.984607700 16.33208087  0.4276454  0.7031952
X10  0.048390096  4.23390658  2.1748963  0.1159448

Fungsi “PCA”

  1. PCA Melakukan analisis PCA, yang akan menunjukkan akses komponen eigenvalues dari hasil komponen utama dengan memberikan informasi tentang seberapa banyak variasi yang dijelaskan setiap komponen utama dalam data.
> PCA = PCA(data_healthylifestyle, scale.unit = T, graph = FALSE)
> PCA$eig
        eigenvalue percentage of variance cumulative percentage of variance
comp 1   4.1234725              41.234725                          41.23472
comp 2   1.7297301              17.297301                          58.53203
comp 3   1.3825701              13.825701                          72.35773
comp 4   0.8841070               8.841070                          81.19880
comp 5   0.5081895               5.081895                          86.28069
comp 6   0.4345960               4.345960                          90.62665
comp 7   0.3380241               3.380241                          94.00689
comp 8   0.2989885               2.989885                          96.99678
comp 9   0.1926508               1.926508                          98.92329
comp 10  0.1076715               1.076715                         100.00000

Membuat Plot

  1. Plot PCA Menampilkan plot dari hasil analisis komponen utama yang dapat memberikan gambaran visual tentang sebaran data dalam ruang komponen utama.
> plot_pca = plot(pca2)

  1. Plot Effect Menampilkan plot dari hasil analisis komponen utama yang dapat memberikan gambaran visual tentang sebaran data dalam ruang komponen utama.
> effect = fviz_eig(pca1, addlabels = TRUE)
  1. Plot Hubungan Kontribusi Variabel Menampilkan plot untuk memvisualisasikan kontribusi variabel terhadap komponen utama pertama dan kedua. Nilai cos2 (kuadrat cosinus) menunjukkan seberapa baik variabel direpresentasikan dalam ruang komponen utama.
> hubungan = fviz_cos2(pca1, choice = "var", axes = 1:2)

Menampilkan plot untuk memvisualisasikan kontribusi variabel terhadap variasi total. Warna gradasi menunjukkan tingkat kontribusi, di mana warna lebih gelap menunjukkan kontribusi yang lebih tinggi.

> kontribusi = fviz_pca_var(pca2, col.var = "contrib", gradient.cols = c("orange", "purple", "maroon"),repel = TRUE)
  1. Plot Individu Menampilkan plot individu untuk memvisualisasikan sebaran data individu dalam ruang komponen utama pertama dan kedua.
> individu = fviz_pca_ind(pca1, title="Top Cities ~ PCA", axes=c(1,2))
  1. Bioplot Menampilkan biplot yang menggabungkan informasi variabel dan data individu dalam satu plot. Warna variabel dan individu dapat membantu membedakan keduanya dalam visualisasi.
> biplot = fviz_pca_biplot(pca1, axes=c(1,2), repel=TRUE, col.var = "lightblue",col.ind = "greenyellow")

HASIL DAN PEMBAHASAN

Stuktur Data

> struktur_data = str(data_healthylifestyle)
tibble [44 × 10] (S3: tbl_df/tbl/data.frame)
 $ X1 : num [1:44] 1858 2636 1884 1821 1630 ...
 $ X2 : num [1:44] 1.92 1.48 1.94 1.72 2.19 1.6 0.78 1.55 1.19 1.08 ...
 $ X3 : num [1:44] 20.4 29 20.1 20.6 19.7 22.2 4.3 22.3 23.8 29.4 ...
 $ X4 : num [1:44] 81.2 82.1 81 81.8 79.8 80.4 83.2 80.6 82.2 81.7 ...
 $ X5 : num [1:44] 30.9 26.9 17.3 19.6 21.2 ...
 $ X6 : num [1:44] 1434 1712 1501 1452 1380 ...
 $ X7 : num [1:44] 7.44 7.22 7.29 7.35 7.64 7.8 5.87 7.07 6.4 7.23 ...
 $ X8 : num [1:44] 422 406 132 129 154 113 35 254 585 218 ...
 $ X9 : num [1:44] 1048 1103 1008 598 523 ...
 $ X10: num [1:44] 34.9 41.7 25.7 37.3 32.5 ...

Interpretasi :

Struktur data pada output yang ditampilkan, memberikan informasi data yang memiliki 44 sampel dengan sebanyak 10 variabel dan seluruh variabel X1 hingga X10 memiliki tipe data yaitu numerik.

Statistika Deskriptif

> stat_deskriptif = summary(data_healthylifestyle)
> stat_deskriptif
       X1             X2              X3              X4              X5       
 Min.   :   0   Min.   :0.150   Min.   : 3.90   Min.   :56.30   Min.   : 0.00  
 1st Qu.:1748   1st Qu.:0.570   1st Qu.:19.50   1st Qu.:75.40   1st Qu.:30.01  
 Median :2066   Median :1.195   Median :22.30   Median :80.40   Median :48.34  
 Mean   :2195   Mean   :1.173   Mean   :21.93   Mean   :78.17   Mean   :49.51  
 3rd Qu.:2626   3rd Qu.:1.600   3rd Qu.:29.00   3rd Qu.:81.80   3rd Qu.:66.35  
 Max.   :3542   Max.   :3.200   Max.   :36.20   Max.   :83.20   Max.   :91.74  
       X6             X7              X8              X9            X10       
 Min.   :   0   Min.   :3.570   Min.   : 23.0   Min.   : 250   Min.   :16.07  
 1st Qu.:1035   1st Qu.:5.870   1st Qu.:125.2   1st Qu.: 548   1st Qu.:31.31  
 Median :1570   Median :6.900   Median :189.5   Median : 998   Median :37.33  
 Mean   :1255   Mean   :6.435   Mean   :214.0   Mean   :1443   Mean   :40.42  
 3rd Qu.:1774   3rd Qu.:7.175   3rd Qu.:288.2   3rd Qu.:1674   3rd Qu.:47.21  
 Max.   :2137   Max.   :7.800   Max.   :585.0   Max.   :6417   Max.   :73.11  

Interpretasi :

Berdasarkan hasil output statistika deskriptif, diketahui bahwa setiap variabel memiliki rentang nilai yang sangat jauh atau tingg, sehingga diperlukan standarisasi pada setiap variabel.

Analisis Hubungan Antar Variabel

> korelasi = cor(data_healthylifestyle)
> corr_matrix = cor(data_healthylifestyle)
> matrix_korelasi = ggcorrplot(corr_matrix)
> datamatrix = cor(data_healthylifestyle)
> plot_matrix = corrplot(datamatrix, method="number")

Interpretasi : Pada matriks korelasi antar variabel, diketahui bahwa hubungan X2 dengan X7 serta X4 dengan X7 memiliki nilai korelasi yang tinggi.Dan memiliki hubungan korelasi positif yang mengindikasikan bahwa saat nilai salah satu dari variabel tersebut meningkat, maka nilai variabel lainnya akan meningkat.

Menampilkan Kumulatif Nilai Eigen dan Vektor Eigen

Matriks Kovarians

> matrix_cov = cov(scaling_data)
> matrix_cov
            X1          X2          X3          X4         X5          X6
X1   1.0000000 -0.44406071  0.25961645 -0.36903737  0.3355006 -0.14143704
X2  -0.4440607  1.00000000  0.29304736  0.61238234 -0.6644172  0.52952457
X3   0.2596165  0.29304736  1.00000000  0.09107146 -0.1710324  0.47249469
X4  -0.3690374  0.61238234  0.09107146  1.00000000 -0.5708735  0.65734813
X5   0.3355006 -0.66441715 -0.17103237 -0.57087353  1.0000000 -0.52271319
X6  -0.1414370  0.52952457  0.47249469  0.65734813 -0.5227132  1.00000000
X7  -0.3721235  0.81315927  0.44639865  0.72458708 -0.6978872  0.66175261
X8   0.2150763 -0.26029684  0.15017086 -0.04486383  0.2723148  0.02150052
X9  -0.1228747 -0.08996306  0.01683277  0.12816279  0.1848896  0.14077050
X10 -0.1321313  0.35646062 -0.07090413  0.41798576 -0.3131712  0.31292512
             X7          X8          X9         X10
X1  -0.37212352  0.21507634 -0.12287466 -0.13213127
X2   0.81315927 -0.26029684 -0.08996306  0.35646062
X3   0.44639865  0.15017086  0.01683277 -0.07090413
X4   0.72458708 -0.04486383  0.12816279  0.41798576
X5  -0.69788721  0.27231484  0.18488959 -0.31317124
X6   0.66175261  0.02150052  0.14077050  0.31292512
X7   1.00000000 -0.13761226  0.03311558  0.29742503
X8  -0.13761226  1.00000000  0.52819990 -0.11540023
X9   0.03311558  0.52819990  1.00000000  0.09260972
X10  0.29742503 -0.11540023  0.09260972  1.00000000
> nilaivektoreigen_cov = eigen(matrix_cov)
> nilaivektoreigen_cov
eigen() decomposition
$values
 [1] 4.1234725 1.7297301 1.3825701 0.8841070 0.5081895 0.4345960 0.3380241
 [8] 0.2989885 0.1926508 0.1076715

$vectors
               [,1]        [,2]        [,3]        [,4]        [,5]
 [1,]  0.2262856647  0.23448045 -0.49264836 -0.51925871 -0.23943772
 [2,] -0.4294655883 -0.09330448 -0.04343640  0.12438867  0.26805687
 [3,] -0.1663931954  0.38241620 -0.59128841  0.10713880  0.42613596
 [4,] -0.4058086076  0.08021591  0.19659188 -0.08489100 -0.44880246
 [5,]  0.3963721818  0.15943330  0.07921457 -0.01690887  0.34870702
 [6,] -0.3785690589  0.26877006 -0.12739863 -0.10095209 -0.18688462
 [7,] -0.4525687683  0.07485321 -0.09451020  0.15867624  0.07328757
 [8,]  0.1095849422  0.62417930  0.16091100  0.05942945 -0.33713625
 [9,] -0.0008823224  0.53826946  0.48133683  0.10046413  0.30633339
[10,] -0.2339513154 -0.03230045  0.27950938 -0.80432106  0.34410039
              [,6]         [,7]        [,8]        [,9]       [,10]
 [1,]  0.006683521  0.051475175  0.51522752 -0.22680524 -0.06750489
 [2,]  0.314536424 -0.267937343  0.20217646 -0.66545543  0.25141598
 [3,]  0.017492279 -0.008283208 -0.14769172  0.37992292  0.34183290
 [4,] -0.255076944 -0.418099522  0.27584707  0.32414342  0.40071719
 [5,] -0.364264097 -0.718712845 -0.01565891 -0.09904101 -0.17326819
 [6,] -0.545860020  0.131358027 -0.46983309 -0.39740906 -0.17089571
 [7,]  0.105075321 -0.120460378  0.28605208  0.24341344 -0.76385188
 [8,]  0.564587368 -0.205037311 -0.29544345 -0.05744098 -0.06261624
 [9,] -0.200428491  0.399807550  0.40412969 -0.06539460  0.08385674
[10,]  0.187160755 -0.021997749 -0.20576459  0.14747530 -0.03405066
> kumeigen_cov = for (eg in nilaivektoreigen_cov$values){
+   print(eg/sum(nilaivektoreigen_cov$values))}
[1] 0.4123472
[1] 0.172973
[1] 0.138257
[1] 0.0884107
[1] 0.05081895
[1] 0.0434596
[1] 0.03380241
[1] 0.02989885
[1] 0.01926508
[1] 0.01076715
> kumeigen_cov
NULL

Interpretasi : Berdasarkan hasil kumulatif nilai eigen, tiga komponen utama sudah memenuhi atau mencapai 75% keragaman dalam data. Sehingga, dapat disusun ke dalam bentuk 3 komponen utama.

> PCMatrix_cov = nilaivektoreigen_cov$vectors[,1:3]
> PCMatrix_cov
               [,1]        [,2]        [,3]
 [1,]  0.2262856647  0.23448045 -0.49264836
 [2,] -0.4294655883 -0.09330448 -0.04343640
 [3,] -0.1663931954  0.38241620 -0.59128841
 [4,] -0.4058086076  0.08021591  0.19659188
 [5,]  0.3963721818  0.15943330  0.07921457
 [6,] -0.3785690589  0.26877006 -0.12739863
 [7,] -0.4525687683  0.07485321 -0.09451020
 [8,]  0.1095849422  0.62417930  0.16091100
 [9,] -0.0008823224  0.53826946  0.48133683
[10,] -0.2339513154 -0.03230045  0.27950938

Interpretasi: Berdasarkan output dari Persamaan Komponen Utama diatas, dapat dituliskan ke dalam bentuk persamaan:

  • Komponen Utama 1

KU1 = 0,226X1 - 0,429X2 - 0,166X3 - 0,405X4 + 0,396X5 - 0,378X6 - 0,452X7 + 0,109X8 - 0,001X9 - 0,233X10

  • Komponen Utama 2

KU2 = 0,234X1 - 0,093X2 + 0,382X3 + 0,080X4 + 0,159X5 + 0,268X6 + 0,074X7 + 0,624X8 + 0,538X9 - 0,032X10

  • Komponen Utama 3

KU3 = -0,492X1 - 0,043X2 - 0,591X3 + 0,196X4 + 0,079X5 - 0,127X6 - 0,094X7 + 0,160X8 + 0,481X9 + 0,279X10

> scree_plot <- plot(nilaivektoreigen_cov$values, xlab="Eigenvalue Number", ylab="Eigenvalue Size", main="Scree Plot Healthy Lifestyle")
> screeplot_garis <- lines(nilaivektoreigen_cov$values)

Interpretasi: Pada hasil scree plot dari matriks kovarians diatas, dapat diketahui bahwa jumlah komponen utama yang dipilih sebanyak 3. Hal ini dapat dilihat pada eigenvalue size lebih dari 1 sehingga mendapatkan hasil bahwa eigenvalue number yang terbentuk sebanyak 3 serta dapat dilihat titik ekstrim dimana garis kurva mulai melandai ditunjukkan pada komponen ke 3.

Matriks Korelasi

> matrix_corr = cor(data_healthylifestyle)
> matrix_corr
            X1          X2          X3          X4         X5          X6
X1   1.0000000 -0.44406071  0.25961645 -0.36903737  0.3355006 -0.14143704
X2  -0.4440607  1.00000000  0.29304736  0.61238234 -0.6644172  0.52952457
X3   0.2596165  0.29304736  1.00000000  0.09107146 -0.1710324  0.47249469
X4  -0.3690374  0.61238234  0.09107146  1.00000000 -0.5708735  0.65734813
X5   0.3355006 -0.66441715 -0.17103237 -0.57087353  1.0000000 -0.52271319
X6  -0.1414370  0.52952457  0.47249469  0.65734813 -0.5227132  1.00000000
X7  -0.3721235  0.81315927  0.44639865  0.72458708 -0.6978872  0.66175261
X8   0.2150763 -0.26029684  0.15017086 -0.04486383  0.2723148  0.02150052
X9  -0.1228747 -0.08996306  0.01683277  0.12816279  0.1848896  0.14077050
X10 -0.1321313  0.35646062 -0.07090413  0.41798576 -0.3131712  0.31292512
             X7          X8          X9         X10
X1  -0.37212352  0.21507634 -0.12287466 -0.13213127
X2   0.81315927 -0.26029684 -0.08996306  0.35646062
X3   0.44639865  0.15017086  0.01683277 -0.07090413
X4   0.72458708 -0.04486383  0.12816279  0.41798576
X5  -0.69788721  0.27231484  0.18488959 -0.31317124
X6   0.66175261  0.02150052  0.14077050  0.31292512
X7   1.00000000 -0.13761226  0.03311558  0.29742503
X8  -0.13761226  1.00000000  0.52819990 -0.11540023
X9   0.03311558  0.52819990  1.00000000  0.09260972
X10  0.29742503 -0.11540023  0.09260972  1.00000000
> nilaivektoreigen_cor = eigen(matrix_corr)
> nilaivektoreigen_cor
eigen() decomposition
$values
 [1] 4.1234725 1.7297301 1.3825701 0.8841070 0.5081895 0.4345960 0.3380241
 [8] 0.2989885 0.1926508 0.1076715

$vectors
               [,1]        [,2]        [,3]        [,4]        [,5]
 [1,]  0.2262856647  0.23448045  0.49264836  0.51925871 -0.23943772
 [2,] -0.4294655883 -0.09330448  0.04343640 -0.12438867  0.26805687
 [3,] -0.1663931954  0.38241620  0.59128841 -0.10713880  0.42613596
 [4,] -0.4058086076  0.08021591 -0.19659188  0.08489100 -0.44880246
 [5,]  0.3963721818  0.15943330 -0.07921457  0.01690887  0.34870702
 [6,] -0.3785690589  0.26877006  0.12739863  0.10095209 -0.18688462
 [7,] -0.4525687683  0.07485321  0.09451020 -0.15867624  0.07328757
 [8,]  0.1095849422  0.62417930 -0.16091100 -0.05942945 -0.33713625
 [9,] -0.0008823224  0.53826946 -0.48133683 -0.10046413  0.30633339
[10,] -0.2339513154 -0.03230045 -0.27950938  0.80432106  0.34410039
              [,6]         [,7]        [,8]        [,9]       [,10]
 [1,]  0.006683521  0.051475175  0.51522752 -0.22680524  0.06750489
 [2,]  0.314536424 -0.267937343  0.20217646 -0.66545543 -0.25141598
 [3,]  0.017492279 -0.008283208 -0.14769172  0.37992292 -0.34183290
 [4,] -0.255076944 -0.418099522  0.27584707  0.32414342 -0.40071719
 [5,] -0.364264097 -0.718712845 -0.01565891 -0.09904101  0.17326819
 [6,] -0.545860020  0.131358027 -0.46983309 -0.39740906  0.17089571
 [7,]  0.105075321 -0.120460378  0.28605208  0.24341344  0.76385188
 [8,]  0.564587368 -0.205037311 -0.29544345 -0.05744098  0.06261624
 [9,] -0.200428491  0.399807550  0.40412969 -0.06539460 -0.08385674
[10,]  0.187160755 -0.021997749 -0.20576459  0.14747530  0.03405066
> kumeigen_cor = for (cor in nilaivektoreigen_cor$values){
+   print(cor/sum(nilaivektoreigen_cor$values))}
[1] 0.4123472
[1] 0.172973
[1] 0.138257
[1] 0.0884107
[1] 0.05081895
[1] 0.0434596
[1] 0.03380241
[1] 0.02989885
[1] 0.01926508
[1] 0.01076715
> kumeigen_cor
NULL

Interpretasi : Berdasarkan hasil kumulatif nilai eigen, tiga komponen utama sudah memenuhi atau mencapai 75% keragaman dalam data. Sehingga, dapat disusun ke dalam bentuk 3 komponen utama.

> PCMatrix_cor = nilaivektoreigen_cor$vectors[,1:3]

Interpretasi: Berdasarkan output dari Persamaan Komponen Utama diatas, dapat dituliskan ke dalam bentuk persamaan:

  • Komponen Utama 1

KU1 = 0,226X1 - 0,429X2 - 0,166X3 - 0,405X4 + 0,396X5 - 0,378X6 - 0,452X7 + 0,109X8 - 0,001X9 - 0,233X10

  • Komponen Utama 2

KU2 = 0,234X1 - 0,093X2 + 0,382X3 + 0,080X4 + 0,159X5 + 0,268X6 + 0,074X7 + 0,624X8 + 0,538X9 - 0,032X10

  • Komponen Utama 3

KU3 = -0,492X1 - 0,043X2 - 0,591X3 + 0,196X4 + 0,079X5 - 0,127X6 - 0,094X7 + 0,160X8 + 0,481X9 + 0,279X10

Analisis PCA

Fungsi “prcomp”

> pca1 = prcomp(data_healthylifestyle, center = TRUE,scale. = TRUE)
> pca1
Standard deviations (1, .., p=10):
 [1] 2.0306335 1.3151920 1.1758274 0.9402697 0.7128741 0.6592389 0.5813984
 [8] 0.5467984 0.4389200 0.3281333

Rotation (n x k) = (10 x 10):
              PC1         PC2         PC3         PC4         PC5          PC6
X1   0.2262856647  0.23448045  0.49264836  0.51925871 -0.23943772 -0.006683521
X2  -0.4294655883 -0.09330448  0.04343640 -0.12438867  0.26805687 -0.314536424
X3  -0.1663931954  0.38241620  0.59128841 -0.10713880  0.42613596 -0.017492279
X4  -0.4058086076  0.08021591 -0.19659188  0.08489100 -0.44880246  0.255076944
X5   0.3963721818  0.15943330 -0.07921457  0.01690887  0.34870702  0.364264097
X6  -0.3785690589  0.26877006  0.12739863  0.10095209 -0.18688462  0.545860020
X7  -0.4525687683  0.07485321  0.09451020 -0.15867624  0.07328757 -0.105075321
X8   0.1095849422  0.62417930 -0.16091100 -0.05942945 -0.33713625 -0.564587368
X9  -0.0008823224  0.53826946 -0.48133683 -0.10046413  0.30633339  0.200428491
X10 -0.2339513154 -0.03230045 -0.27950938  0.80432106  0.34410039 -0.187160755
             PC7         PC8         PC9        PC10
X1  -0.051475175 -0.51522752 -0.22680524 -0.06750489
X2   0.267937343 -0.20217646 -0.66545543  0.25141598
X3   0.008283208  0.14769172  0.37992292  0.34183290
X4   0.418099522 -0.27584707  0.32414342  0.40071719
X5   0.718712845  0.01565891 -0.09904101 -0.17326819
X6  -0.131358027  0.46983309 -0.39740906 -0.17089571
X7   0.120460378 -0.28605208  0.24341344 -0.76385188
X8   0.205037311  0.29544345 -0.05744098 -0.06261624
X9  -0.399807550 -0.40412969 -0.06539460  0.08385674
X10  0.021997749  0.20576459  0.14747530 -0.03405066
> summary(pca1)
Importance of components:
                          PC1    PC2    PC3     PC4     PC5     PC6    PC7
Standard deviation     2.0306 1.3152 1.1758 0.94027 0.71287 0.65924 0.5814
Proportion of Variance 0.4123 0.1730 0.1383 0.08841 0.05082 0.04346 0.0338
Cumulative Proportion  0.4123 0.5853 0.7236 0.81199 0.86281 0.90627 0.9401
                          PC8     PC9    PC10
Standard deviation     0.5468 0.43892 0.32813
Proportion of Variance 0.0299 0.01927 0.01077
Cumulative Proportion  0.9700 0.98923 1.00000

Interpretasi : Berdasarkan hasil di atas, diketahui bahwa nilai standar deviasi, proporsi dari varians, dan proporsi kumulatif dari setiap variabel mulai dari PC1 sampai PC10 bahwa banyaknya komponen utama yang dapat diambil sebanyak 3 komponen utama. Hal ini karena 3 komponen utama telah menangkap minimal 70% varians data. Ketiga komponen utama telah mampu menangkap 72,36% dari total keragaman data.

Fungsi “Princomp”

> pca2 = princomp(x=data_healthylifestyle, cor=T)
> pca2
Call:
princomp(x = data_healthylifestyle, cor = T)

Standard deviations:
   Comp.1    Comp.2    Comp.3    Comp.4    Comp.5    Comp.6    Comp.7    Comp.8 
2.0306335 1.3151920 1.1758274 0.9402697 0.7128741 0.6592389 0.5813984 0.5467984 
   Comp.9   Comp.10 
0.4389200 0.3281333 

 10  variables and  44 observations.
> summary(pca2)
Importance of components:
                          Comp.1    Comp.2    Comp.3    Comp.4     Comp.5
Standard deviation     2.0306335 1.3151920 1.1758274 0.9402697 0.71287408
Proportion of Variance 0.4123472 0.1729730 0.1382570 0.0884107 0.05081895
Cumulative Proportion  0.4123472 0.5853203 0.7235773 0.8119880 0.86280692
                          Comp.6     Comp.7     Comp.8     Comp.9    Comp.10
Standard deviation     0.6592389 0.58139842 0.54679837 0.43892000 0.32813332
Proportion of Variance 0.0434596 0.03380241 0.02989885 0.01926508 0.01076715
Cumulative Proportion  0.9062665 0.94006893 0.96996778 0.98923285 1.00000000

Interpretasi : Berdasarkan hasil di atas, diketahui bahwa nilai standar deviasi, proporsi dari varians, dan proporsi kumulatif dari setiap variabel mulai dari PC1 sampai PC10 bahwa banyaknya komponen utama yang dapat diambil sebanyak 3 komponen utama. Hal ini karena 3 komponen utama telah menangkap minimal 70% varians data. Ketiga komponen utama telah mampu menangkap 72,36% dari total keragaman data.

> print(pca2$loadings, digits=3, cutoff = 0.1) 

Loadings:
    Comp.1 Comp.2 Comp.3 Comp.4 Comp.5 Comp.6 Comp.7 Comp.8 Comp.9 Comp.10
X1   0.226  0.234  0.493  0.519  0.239                0.515  0.227        
X2  -0.429               -0.124 -0.268  0.315 -0.268  0.202  0.665 -0.251 
X3  -0.166  0.382  0.591 -0.107 -0.426               -0.148 -0.380 -0.342 
X4  -0.406        -0.197         0.449 -0.255 -0.418  0.276 -0.324 -0.401 
X5   0.396  0.159               -0.349 -0.364 -0.719                0.173 
X6  -0.379  0.269  0.127  0.101  0.187 -0.546  0.131 -0.470  0.397  0.171 
X7  -0.453               -0.159         0.105 -0.120  0.286 -0.243  0.764 
X8   0.110  0.624 -0.161         0.337  0.565 -0.205 -0.295               
X9          0.538 -0.481 -0.100 -0.306 -0.200  0.400  0.404               
X10 -0.234        -0.280  0.804 -0.344  0.187        -0.206 -0.147        

               Comp.1 Comp.2 Comp.3 Comp.4 Comp.5 Comp.6 Comp.7 Comp.8 Comp.9
SS loadings       1.0    1.0    1.0    1.0    1.0    1.0    1.0    1.0    1.0
Proportion Var    0.1    0.1    0.1    0.1    0.1    0.1    0.1    0.1    0.1
Cumulative Var    0.1    0.2    0.3    0.4    0.5    0.6    0.7    0.8    0.9
               Comp.10
SS loadings        1.0
Proportion Var     0.1
Cumulative Var     1.0

Interpretasi : Berdasarkan nilai loadings, menunjukkan seberapa besar setiap variabel berkontribusi terhadap pembentukan setiap komponen utama. Dapat memahami hubungan antara variabel dan komponen utama.

> pca.var = get_pca_var(pca2)
> pca.var$contrib
           Dim.1      Dim.2      Dim.3       Dim.4      Dim.5        Dim.6
X1  5.120520e+00  5.4981081 24.2702403 26.96296028  5.7330424  0.004466945
X2  1.844407e+01  0.8705726  0.1886721  1.54725412  7.1854486  9.893316225
X3  2.768670e+00 14.6242152 34.9621982  1.14787233 18.1591854  0.030597981
X4  1.646806e+01  0.6434592  3.8648369  0.72064820 20.1423647  6.506424732
X5  1.571109e+01  2.5418976  0.6274948  0.02859099 12.1596584 13.268833223
X6  1.433145e+01  7.2237344  1.6230410  1.01913247  3.4925860 29.796316096
X7  2.048185e+01  0.5603002  0.8932177  2.51781488  0.5371068  1.104082314
X8  1.200886e+00 38.9599793  2.5892350  0.35318599 11.3660852 31.875889640
X9  7.784928e-05 28.9734015 23.1685147  1.00930404  9.3840147  4.017158017
X10 5.473322e+00  0.1043319  7.8125493 64.69323670 11.8405076  3.502914827
           Dim.7       Dim.8      Dim.9     Dim.10
X1   0.264969364 26.54593964  5.1440619  0.4556910
X2   7.179041976  4.08753216 44.2830935  6.3209996
X3   0.006861153  2.18128437 14.4341426 11.6849732
X4  17.480721065  7.60916039 10.5068955 16.0574267
X5  51.654815377  0.02452016  0.9809122  3.0021865
X6   1.725493130 22.07431358 15.7933958  2.9205343
X7   1.451070255  8.18257913  5.9250102 58.3469695
X8   4.204029883  8.72868312  0.3299466  0.3920794
X9  15.984607700 16.33208087  0.4276454  0.7031952
X10  0.048390096  4.23390658  2.1748963  0.1159448

Interpretasi : Menunjukkan setiap elemen vektor akan mewakili kontribusi dari variabel yang sesuai dengan nilai yang lebih tinggi menunjukkan bahwa variabel tersebut memiliki pengaruh yang signifikan dalam membentuk komponen utama tertentu.

Fungsi PCA

> PCA = PCA(data_healthylifestyle, scale.unit = T, graph = FALSE)
> PCA$eig
        eigenvalue percentage of variance cumulative percentage of variance
comp 1   4.1234725              41.234725                          41.23472
comp 2   1.7297301              17.297301                          58.53203
comp 3   1.3825701              13.825701                          72.35773
comp 4   0.8841070               8.841070                          81.19880
comp 5   0.5081895               5.081895                          86.28069
comp 6   0.4345960               4.345960                          90.62665
comp 7   0.3380241               3.380241                          94.00689
comp 8   0.2989885               2.989885                          96.99678
comp 9   0.1926508               1.926508                          98.92329
comp 10  0.1076715               1.076715                         100.00000

Interpretasi :

Berdasarkan hasil nilai eigen, tiga komponen utama sudah memenuhi atau mencapai 75% keragaman dalam data yang dipat dilihat bahwa pada komponen 1 sampai 3 memiliki nilai variasi kumalatif terbesar serta nilai variasi kecil. Sehingga, dapat disusun ke dalam bentuk 3 komponen utama.

Plot

Plot PCA

> plot_pca = plot(pca2)

Plot Efek

> effect = fviz_eig(pca1, addlabels = TRUE)
> effect

Interpretasi : Plot efek dari setiap PCA dapat diketahui seberapa besar persentase penjelasan keragaman mulai dari PCA 1 sampai PCA 10. Persentase penjelasan keragaman pada PCA 1 sebesar 41.2%, PCA 2 sebesar 17.3%, PCA 3 sebesar 13.8%, PCA 4 sebesar 8.8%, PCA 5 sebesar 5.1%, PCA 6 sebesar 4.3%, PCA 7 sebesar 3.4%, PCA 8 sebesar 3%, PCA 9 sebesar 1.9%, dan PCA 10 sebesar 1.1%.

Plot Hubungan Kontibusi variabel

> hubungan = fviz_cos2(pca1, choice = "var", axes = 1:2)
> hubungan

> kontribusi = fviz_pca_var(pca2, col.var = "contrib", gradient.cols = c("yellow", "purple", "red"),repel = TRUE)
> kontribusi

Interpretassi : Berdasarkan output dari plot kontribusi variabel, dapat diketahui nilai kontribusi setiap variabel terhadap dimensi 1 dan dimensi 2. X2, X3, X4, X5, X6, X7. X8, X9 nilainya lebih besar dari 10 divisualisasikan dengan panah warna merah dan ungu, sedangkan X10 dan X1 nilainya kurang dari 10 dengan visualisasi panah berwarna kuning.

Plot Individu

> individu = fviz_pca_ind(pca1, title="Top Cities ~ PCA", axes=c(1,2))
> individu

Interpretasi : Setiap titik pada plot mewakili satu observasi atau entitas dalam dataset. Jarak antara titik-titik mencerminkan seberapa berbeda observasi-observasi tersebut dalam ruang komponen utama.

Biplot

> biplot = fviz_pca_biplot(pca1, axes=c(1,2), repel=TRUE, col.var = "blue",col.ind = "greenyellow")
> biplot

Interpretasi : Panah yang menuju ke arah suatu variabel menunjukkan arah dan kekuatan hubungan antara variabel tersebut dan komponen utama. Panjang panah mengindikasikan kontribusi variabel terhadap variasi, dan arahnya menunjukkan arah perubahan positif. Kemudian, titik-titik yang mewakili data individu dalam biplot memberikan gambaran sebaran data dalam ruang komponen utama. Sehingga, ketertarikan antara panah dan titik yaitu jika suatu titik data dekat dengan arah panah suatu variabel, itu menunjukkan bahwa variabel tersebut memiliki pengaruh besar pada data individu tersebut begitupun sebaliknya.

PENUTUP

Kesimpulan

Berdasarkan hasil analisis mengenai gaya hidup sehat pada tahun 2021 di 44 Kota, disimpulkan bahwa terdapat 3 komponen yang terbentuk. dengan Persamaan sebagai berikut:

  • Komponen Utama 1

KU1 = 0,226X1 - 0,429X2 - 0,166X3 - 0,405X4 + 0,396X5 - 0,378X6 - 0,452X7 + 0,109X8 - 0,001X9 - 0,233X10

KU1 menggambarkan ukuran dari sunshine hours, pollution, dan outdoor activities maka KU1 berdasarkan informasi tersebut dinamakan dengan faktor kesehatan lingkungan.

  • Komponen Utama 2

KU2 = 0,234X1 - 0,093X2 + 0,382X3 + 0,080X4 + 0,159X5 + 0,268X6 + 0,074X7 + 0,624X8 + 0,538X9 - 0,032X10

KU2 menggambarkan ukuran dari Annual avg. hours worked, Hapinness levels, dan Number of take out place maka KU2 berdasarkan informasi tersebut dinamakan dengan Indeks Keseimbangan Kerja-hidup.

  • Komponen Utama 3

KU3 = -0,492X1 - 0,043X2 - 0,591X3 + 0,196X4 + 0,079X5 - 0,127X6 - 0,094X7 + 0,160X8 + 0,481X9 + 0,279X10

KU3 menggambarkan ukuran dari Cost of a bottle of water, Obesity levels, dan Cost a monthly gym membership maka KU3 berdasarkan informasi tersebut dinamakan dengan Faktor Aksesibilitas Kesehatan.

Dengan demikian, kesimpulannya data faktor gaya hidup sehat di 44 kota yang terdiri atas 10 indikator dapat direduksi menjadi 3 indikator namun tetap dapat menggambarkan keragaman dari data awal. Ketiga indikator tersebut adalah:

  1. kesehatan Lingkungan (Environmental health)

  2. Indeks Keseimbangan Kerja-hidup (Work-Life Balance Index)

  3. Faktor Aksesibilitas Kesehatan (Health Affordability Factor)

    Dari ketiga indikator tersebut yang berperan besar dalam menjelaskan masalah gaya hidup sehat di beberapa kota adalah kesehatan lingkungan. Selain itu, indikator baru yang terbentuk ini dapat digunakan untuk analisis lanjutan seperti regresi dan klasifikasi dan telah mengatasi masalah multikolinearitas karena memiliki sifat saling bebas satu sama lain.

Daftar Pustaka

Adliyani, Z. O. N. (2015). Pengaruh perilaku individu terhadap hidup sehat. Jurnal Majority, 4(7), 109-114.

Jolliffe, I.T. 2002. Principal Component Analysis. 2nd Edition. Springer-Verlag: New York.

Mudloifah, I., & Purnomo, T. (2023). Analisis Kualitas Perairan di Pantai Asmoroqondi Kecamatan Palang Kabupaten Tuban Menggunakan Metode Principal Component Analysis (PCA). LenteraBio: Berkala Ilmiah Biologi, 12(3), 273-280.

Nasution, M. Z. (2019). Penerapan principal component analysis (pca) dalam penentuan faktor dominan yang mempengaruhi pengidap kanker serviks (Studi Kasus: Cervical Cancer Dataset). Jurnal Mantik, 3(1), 204-210.

Windarta, L. R. P. (2021). Pendidikan Kesehatan, Gizi dan Perilaku Hidup Bersih dan Sehat Bagi Anak Usia Dini di Masa Pandemi Covid-19. GENIUS: Indonesian Journal of Early Childhood Education, 2(1), 40-48.