Persiapan Data
1.)Input Dataset dan inisiasi nama; 2.)Mengambil 38baris sesuai
38Provinsi; 3.)Mengambil hanya kolom numerik (kolom2-13); 4.)Dari cek
missing value diketahui kolom13(Tenaga Kesehatan Tradisional) memiliki
>50% data NAN, maka tersisa 11kolom.
data_raw <- read.csv("Tenaga_Kesehatan.csv", stringsAsFactors = FALSE)
library(knitr)
kable(data_raw, caption = "Data Tenaga Kesehatan Menurut Provinsi", align = "l")
Data Tenaga Kesehatan Menurut Provinsi
| Aceh |
21 |
21 |
4 |
4 |
1 |
1 |
6 |
77 |
484 |
2 |
2 |
NA |
| Sumatera Utara |
24 |
25 |
5 |
4 |
986 |
2 |
12 |
45 |
516 |
2 |
4 |
9 |
| Sumatera Barat |
12 |
9 |
3 |
2 |
641 |
1 |
5 |
31 |
380 |
2 |
2 |
2 |
| Riau |
13 |
10 |
4 |
2 |
487 |
770 |
6 |
60 |
466 |
1 |
2 |
2 |
| Jambi |
8 |
7 |
2 |
1 |
474 |
521 |
3 |
30 |
218 |
857 |
1 |
9 |
| Sumatera Selatan |
17 |
15 |
4 |
3 |
1 |
1 |
6 |
49 |
418 |
2 |
3 |
NA |
| Bengkulu |
5 |
5 |
1 |
1 |
330 |
578 |
1 |
16 |
86 |
367 |
931 |
NA |
| Lampung |
13 |
11 |
3 |
1 |
758 |
806 |
4 |
25 |
327 |
1 |
2 |
56 |
| Kepulauan Bangka Belitung |
4 |
2 |
1 |
479 |
156 |
247 |
1 |
20 |
114 |
402 |
585 |
NA |
| Kepulauan Riau |
5 |
3 |
2 |
509 |
342 |
273 |
3 |
25 |
140 |
549 |
805 |
2 |
| DKI Jakarta |
39 |
7 |
13 |
1 |
743 |
1 |
28 |
333 |
2 |
5 |
8 |
166 |
| Jawa Barat |
74 |
33 |
26 |
4 |
2 |
3 |
33 |
263 |
2 |
9 |
12 |
40 |
| Jawa Tengah |
66 |
30 |
25 |
4 |
2 |
3 |
21 |
240 |
3 |
8 |
10 |
34 |
| DI Yogyakarta |
12 |
3 |
5 |
490 |
398 |
634 |
6 |
178 |
599 |
2 |
2 |
4 |
| Jawa Timur |
74 |
33 |
22 |
4 |
2 |
4 |
26 |
230 |
2 |
7 |
11 |
187 |
| Banten |
19 |
10 |
6 |
1 |
537 |
815 |
12 |
91 |
766 |
2 |
3 |
10 |
| Bali |
13 |
6 |
4 |
1 |
556 |
788 |
8 |
53 |
427 |
1 |
2 |
16 |
| Nusa Tenggara Barat |
13 |
8 |
3 |
1 |
622 |
1 |
3 |
29 |
284 |
2 |
2 |
2 |
| Nusa Tenggara Timur |
16 |
12 |
3 |
3 |
1 |
2 |
2 |
11 |
191 |
2 |
2 |
1 |
| Kalimantan Barat |
11 |
7 |
2 |
1 |
661 |
853 |
3 |
25 |
199 |
1 |
2 |
2 |
| Kalimantan Tengah |
8 |
5 |
2 |
738 |
322 |
584 |
2 |
25 |
145 |
617 |
1 |
NA |
| Kalimantan Selatan |
10 |
6 |
3 |
1 |
657 |
1 |
3 |
57 |
265 |
2 |
2 |
3 |
| Kalimantan Timur |
11 |
5 |
4 |
1 |
390 |
496 |
4 |
41 |
406 |
950 |
2 |
6 |
| Kalimantan Utara |
3 |
1 |
708 |
356 |
126 |
144 |
744 |
6 |
51 |
223 |
357 |
NA |
| Sulawesi Utara |
10 |
3 |
2 |
1 |
552 |
720 |
3 |
17 |
217 |
643 |
904 |
1 |
| Sulawesi Tengah |
9 |
7 |
2 |
3 |
714 |
688 |
2 |
32 |
135 |
570 |
1 |
2 |
| Sulawesi Selatan |
27 |
20 |
6 |
5 |
1 |
2 |
7 |
21 |
615 |
3 |
4 |
5 |
| Sulawesi Tenggara |
10 |
8 |
3 |
4 |
795 |
1 |
2 |
16 |
129 |
1 |
2 |
NA |
| Gorontalo |
4 |
2 |
731 |
1 |
248 |
579 |
750 |
3 |
39 |
238 |
501 |
NA |
| Sulawesi Barat |
4 |
4 |
692 |
947 |
278 |
340 |
665 |
1 |
57 |
182 |
353 |
NA |
| Maluku |
7 |
4 |
946 |
2 |
661 |
747 |
1 |
11 |
63 |
246 |
825 |
NA |
| Maluku Utara |
4 |
4 |
772 |
2 |
319 |
496 |
838 |
3 |
56 |
262 |
812 |
NA |
| Papua Barat |
2 |
1 |
451 |
339 |
90 |
186 |
442 |
3 |
26 |
96 |
332 |
1 |
| Papua Barat Daya |
2 |
1 |
415 |
427 |
144 |
238 |
428 |
3 |
13 |
81 |
228 |
NA |
| Papua |
4 |
2 |
963 |
661 |
240 |
333 |
928 |
2 |
41 |
159 |
789 |
NA |
| Papua Selatan |
2 |
992 |
272 |
272 |
90 |
125 |
324 |
2 |
17 |
67 |
231 |
NA |
| Papua Tengah |
3 |
1 |
501 |
492 |
196 |
150 |
523 |
4 |
21 |
97 |
404 |
NA |
| Papua Pegunungan |
1 |
613 |
202 |
316 |
74 |
74 |
221 |
1 |
5 |
20 |
144 |
64 |
| Indonesia |
583 |
334 |
165 |
65 |
25 |
36 |
220 |
2 |
17 |
61 |
90 |
624 |
|
NA |
NA |
NA |
NA |
NA |
NA |
NA |
NA |
NA |
NA |
NA |
NA |
| Catatan |
NA |
NA |
NA |
NA |
NA |
NA |
NA |
NA |
NA |
NA |
NA |
NA |
| 1Tenaga medis terdiri atas dokter, dokter gigi, dokter
spesialis, dan dokter gigi spesialis baik di dalam maupun di luar negari
yang diakui oleh pemerintah RI sesuai dengan peraturan
perundang-undangan (UU No.17 Tahun 2023 tentang Kesehatan)/ Medical
worker includes doctor, dentist, medical specialist, and dentist
specialist at home and abroad recognized by Indonesian government in
accordance with the laws and regulations (Law No. 17 year 2023 regarding
Health) |
NA |
NA |
NA |
NA |
NA |
NA |
NA |
NA |
NA |
NA |
NA |
NA |
data <- data_raw[1:38,]
data <- data[,2:12]
kable(data, caption = "Data Tenaga Kesehatan Menurut Provinsi", align = "l")
Data Tenaga Kesehatan Menurut Provinsi
| 21 |
21 |
4 |
4 |
1 |
1 |
6 |
77 |
484 |
2 |
2 |
| 24 |
25 |
5 |
4 |
986 |
2 |
12 |
45 |
516 |
2 |
4 |
| 12 |
9 |
3 |
2 |
641 |
1 |
5 |
31 |
380 |
2 |
2 |
| 13 |
10 |
4 |
2 |
487 |
770 |
6 |
60 |
466 |
1 |
2 |
| 8 |
7 |
2 |
1 |
474 |
521 |
3 |
30 |
218 |
857 |
1 |
| 17 |
15 |
4 |
3 |
1 |
1 |
6 |
49 |
418 |
2 |
3 |
| 5 |
5 |
1 |
1 |
330 |
578 |
1 |
16 |
86 |
367 |
931 |
| 13 |
11 |
3 |
1 |
758 |
806 |
4 |
25 |
327 |
1 |
2 |
| 4 |
2 |
1 |
479 |
156 |
247 |
1 |
20 |
114 |
402 |
585 |
| 5 |
3 |
2 |
509 |
342 |
273 |
3 |
25 |
140 |
549 |
805 |
| 39 |
7 |
13 |
1 |
743 |
1 |
28 |
333 |
2 |
5 |
8 |
| 74 |
33 |
26 |
4 |
2 |
3 |
33 |
263 |
2 |
9 |
12 |
| 66 |
30 |
25 |
4 |
2 |
3 |
21 |
240 |
3 |
8 |
10 |
| 12 |
3 |
5 |
490 |
398 |
634 |
6 |
178 |
599 |
2 |
2 |
| 74 |
33 |
22 |
4 |
2 |
4 |
26 |
230 |
2 |
7 |
11 |
| 19 |
10 |
6 |
1 |
537 |
815 |
12 |
91 |
766 |
2 |
3 |
| 13 |
6 |
4 |
1 |
556 |
788 |
8 |
53 |
427 |
1 |
2 |
| 13 |
8 |
3 |
1 |
622 |
1 |
3 |
29 |
284 |
2 |
2 |
| 16 |
12 |
3 |
3 |
1 |
2 |
2 |
11 |
191 |
2 |
2 |
| 11 |
7 |
2 |
1 |
661 |
853 |
3 |
25 |
199 |
1 |
2 |
| 8 |
5 |
2 |
738 |
322 |
584 |
2 |
25 |
145 |
617 |
1 |
| 10 |
6 |
3 |
1 |
657 |
1 |
3 |
57 |
265 |
2 |
2 |
| 11 |
5 |
4 |
1 |
390 |
496 |
4 |
41 |
406 |
950 |
2 |
| 3 |
1 |
708 |
356 |
126 |
144 |
744 |
6 |
51 |
223 |
357 |
| 10 |
3 |
2 |
1 |
552 |
720 |
3 |
17 |
217 |
643 |
904 |
| 9 |
7 |
2 |
3 |
714 |
688 |
2 |
32 |
135 |
570 |
1 |
| 27 |
20 |
6 |
5 |
1 |
2 |
7 |
21 |
615 |
3 |
4 |
| 10 |
8 |
3 |
4 |
795 |
1 |
2 |
16 |
129 |
1 |
2 |
| 4 |
2 |
731 |
1 |
248 |
579 |
750 |
3 |
39 |
238 |
501 |
| 4 |
4 |
692 |
947 |
278 |
340 |
665 |
1 |
57 |
182 |
353 |
| 7 |
4 |
946 |
2 |
661 |
747 |
1 |
11 |
63 |
246 |
825 |
| 4 |
4 |
772 |
2 |
319 |
496 |
838 |
3 |
56 |
262 |
812 |
| 2 |
1 |
451 |
339 |
90 |
186 |
442 |
3 |
26 |
96 |
332 |
| 2 |
1 |
415 |
427 |
144 |
238 |
428 |
3 |
13 |
81 |
228 |
| 4 |
2 |
963 |
661 |
240 |
333 |
928 |
2 |
41 |
159 |
789 |
| 2 |
992 |
272 |
272 |
90 |
125 |
324 |
2 |
17 |
67 |
231 |
| 3 |
1 |
501 |
492 |
196 |
150 |
523 |
4 |
21 |
97 |
404 |
| 1 |
613 |
202 |
316 |
74 |
74 |
221 |
1 |
5 |
20 |
144 |
str(data)
## 'data.frame': 38 obs. of 11 variables:
## $ Perawat : int 21 24 12 13 8 17 5 13 4 5 ...
## $ Bidan : int 21 25 9 10 7 15 5 11 2 3 ...
## $ Kefarmasian : int 4 5 3 4 2 4 1 3 1 2 ...
## $ Tenaga.Kesehatan.Masyarakat : int 4 4 2 2 1 3 1 1 479 509 ...
## $ Tenaga.Kesehatan.Lingkungan : int 1 986 641 487 474 1 330 758 156 342 ...
## $ Tenaga.Gizi : int 1 2 1 770 521 1 578 806 247 273 ...
## $ Tenaga.Medis : int 6 12 5 6 3 6 1 4 1 3 ...
## $ Tenaga.Kesehatan.Psikologi.Klinis: int 77 45 31 60 30 49 16 25 20 25 ...
## $ Tenaga.Keterapian.Fisik : int 484 516 380 466 218 418 86 327 114 140 ...
## $ Tenaga.Keteknisan.Medis : int 2 2 2 1 857 2 367 1 402 549 ...
## $ Tenaga.Teknik.Biomedika : int 2 4 2 2 1 3 931 2 585 805 ...
summary(data)
## Perawat Bidan Kefarmasian Tenaga.Kesehatan.Masyarakat
## Min. : 1.00 Min. : 1.00 Min. : 1.0 Min. : 1.0
## 1st Qu.: 4.00 1st Qu.: 3.25 1st Qu.: 3.0 1st Qu.: 1.0
## Median :10.00 Median : 7.00 Median : 4.5 Median : 3.5
## Mean :15.26 Mean : 50.95 Mean :179.3 Mean :160.1
## 3rd Qu.:15.25 3rd Qu.: 11.75 3rd Qu.:254.5 3rd Qu.:333.2
## Max. :74.00 Max. :992.00 Max. :963.0 Max. :947.0
## Tenaga.Kesehatan.Lingkungan Tenaga.Gizi Tenaga.Medis
## Min. : 1.0 Min. : 1.00 Min. : 1.0
## 1st Qu.: 99.0 1st Qu.: 2.25 1st Qu.: 3.0
## Median :326.0 Median :242.50 Median : 6.0
## Mean :357.8 Mean :321.26 Mean :159.9
## 3rd Qu.:605.5 3rd Qu.:582.75 3rd Qu.:174.0
## Max. :986.0 Max. :853.00 Max. :928.0
## Tenaga.Kesehatan.Psikologi.Klinis Tenaga.Keterapian.Fisik
## Min. : 1.00 Min. : 2.0
## 1st Qu.: 7.25 1st Qu.: 39.5
## Median : 25.00 Median :137.5
## Mean : 54.71 Mean :208.6
## 3rd Qu.: 52.00 3rd Qu.:366.8
## Max. :333.00 Max. :766.0
## Tenaga.Keteknisan.Medis Tenaga.Teknik.Biomedika
## Min. : 1.0 Min. : 1
## 1st Qu.: 2.0 1st Qu.: 2
## Median : 14.5 Median : 6
## Mean :175.8 Mean :218
## 3rd Qu.:244.0 3rd Qu.:356
## Max. :950.0 Max. :931
colSums(is.na(data))
## Perawat Bidan
## 0 0
## Kefarmasian Tenaga.Kesehatan.Masyarakat
## 0 0
## Tenaga.Kesehatan.Lingkungan Tenaga.Gizi
## 0 0
## Tenaga.Medis Tenaga.Kesehatan.Psikologi.Klinis
## 0 0
## Tenaga.Keterapian.Fisik Tenaga.Keteknisan.Medis
## 0 0
## Tenaga.Teknik.Biomedika
## 0
Analisis Awal
Tidak digunakan dalam analisis utama, hanya untuk melihat struktur
varians data. 1.)Standarisasi data setiap variabel diubah menjadi
rata-rata=0 dan simpangan baku=1, agar variabel besrkala besar tidak
mendominasi PCA; 2.)Covariance dihitung dari data standar untuk
mengetahui seberapa kuat hubungan antar jenis tenaga kesehatan; 3.)Eigen
value merupakan komponen utama dengan nilai lebih dari satu
dipertahankan dan nilai minimal 0,4; 4.)Boxplot menunjukkan banyaknya
outlier, tapi dalam analisis ini masih menggunakan PCA secara general
dan untuk outlier ada khusus RPCA.
data_scale = scale(data)
kable(data_scale, caption = "Data Tenaga Kesehatan Menurut Provinsi", align = "l")
Data Tenaga Kesehatan Menurut Provinsi
| 0.3114538 |
-0.1618297 |
-0.5736386 |
-0.6038207 |
-1.2740839 |
-1.0300908 |
-0.5441251 |
0.2729808 |
1.3257755 |
-0.6682368 |
-0.6798203 |
| 0.4743241 |
-0.1402145 |
-0.5703660 |
-0.6038207 |
2.2430605 |
-1.0268744 |
-0.5229109 |
-0.1189255 |
1.4797970 |
-0.6682368 |
-0.6735249 |
| -0.1771572 |
-0.2266753 |
-0.5769111 |
-0.6115567 |
1.0111673 |
-1.0300908 |
-0.5476608 |
-0.2903845 |
0.8252056 |
-0.6682368 |
-0.6798203 |
| -0.1228671 |
-0.2212715 |
-0.5736386 |
-0.6115567 |
0.4612787 |
1.4433120 |
-0.5441251 |
0.0647806 |
1.2391384 |
-0.6720813 |
-0.6798203 |
| -0.3943176 |
-0.2374829 |
-0.5801836 |
-0.6154248 |
0.4148595 |
0.6424313 |
-0.5547322 |
-0.3026316 |
0.0454718 |
2.6188204 |
-0.6829680 |
| 0.0942933 |
-0.1942525 |
-0.5736386 |
-0.6076887 |
-1.2740839 |
-1.0300908 |
-0.5441251 |
-0.0699372 |
1.0081061 |
-0.6682368 |
-0.6766726 |
| -0.5571880 |
-0.2482905 |
-0.5834561 |
-0.6154248 |
-0.0993220 |
0.8257654 |
-0.5618036 |
-0.4740906 |
-0.5898669 |
0.7350099 |
2.2443927 |
| -0.1228671 |
-0.2158677 |
-0.5769111 |
-0.6154248 |
1.4289398 |
1.5591020 |
-0.5511965 |
-0.3638670 |
0.5701075 |
-0.6720813 |
-0.6798203 |
| -0.6114781 |
-0.2645020 |
-0.5834561 |
1.2334961 |
-0.7206247 |
-0.2388592 |
-0.5618036 |
-0.4251023 |
-0.4550981 |
0.8695678 |
1.1552886 |
| -0.5571880 |
-0.2590982 |
-0.5801836 |
1.3495371 |
-0.0564735 |
-0.1552331 |
-0.5547322 |
-0.3638670 |
-0.3299556 |
1.4347109 |
1.8477826 |
| 1.2886758 |
-0.2374829 |
-0.5441859 |
-0.6154248 |
1.3753792 |
-1.0300908 |
-0.4663398 |
3.4082314 |
-0.9941733 |
-0.6567032 |
-0.6609341 |
| 3.1888296 |
-0.0969841 |
-0.5016431 |
-0.6038207 |
-1.2705132 |
-1.0236580 |
-0.4486613 |
2.5509363 |
-0.9941733 |
-0.6413252 |
-0.6483433 |
| 2.7545088 |
-0.1131955 |
-0.5049156 |
-0.6038207 |
-1.2705132 |
-1.0236580 |
-0.4910897 |
2.2692536 |
-0.9893601 |
-0.6451697 |
-0.6546387 |
| -0.1771572 |
-0.2590982 |
-0.5703660 |
1.2760445 |
0.1434860 |
1.0058832 |
-0.5441251 |
1.5099351 |
1.8792902 |
-0.6682368 |
-0.6798203 |
| 3.1888296 |
-0.0969841 |
-0.5147332 |
-0.6038207 |
-1.2705132 |
-1.0204416 |
-0.4734112 |
2.1467829 |
-0.9941733 |
-0.6490142 |
-0.6514910 |
| 0.2028736 |
-0.2212715 |
-0.5670935 |
-0.6154248 |
0.6398140 |
1.5880495 |
-0.5229109 |
0.4444398 |
2.6830899 |
-0.6682368 |
-0.6766726 |
| -0.1228671 |
-0.2428867 |
-0.5736386 |
-0.6154248 |
0.7076574 |
1.5012070 |
-0.5370537 |
-0.0209489 |
1.0514247 |
-0.6720813 |
-0.6798203 |
| -0.1228671 |
-0.2320791 |
-0.5769111 |
-0.6154248 |
0.9433239 |
-1.0300908 |
-0.5547322 |
-0.3148787 |
0.3631411 |
-0.6682368 |
-0.6798203 |
| 0.0400032 |
-0.2104639 |
-0.5769111 |
-0.6076887 |
-1.2740839 |
-1.0268744 |
-0.5582679 |
-0.5353260 |
-0.0844838 |
-0.6682368 |
-0.6798203 |
| -0.2314473 |
-0.2374829 |
-0.5801836 |
-0.6154248 |
1.0825814 |
1.7102723 |
-0.5547322 |
-0.3638670 |
-0.0459785 |
-0.6720813 |
-0.6798203 |
| -0.3943176 |
-0.2482905 |
-0.5801836 |
2.2353172 |
-0.1278876 |
0.8450638 |
-0.5582679 |
-0.3638670 |
-0.3058897 |
1.6961377 |
-0.6829680 |
| -0.2857374 |
-0.2428867 |
-0.5769111 |
-0.6154248 |
1.0682986 |
-1.0300908 |
-0.5547322 |
0.0280394 |
0.2716909 |
-0.6682368 |
-0.6798203 |
| -0.2314473 |
-0.2482905 |
-0.5736386 |
-0.6154248 |
0.1149203 |
0.5620216 |
-0.5511965 |
-0.1679138 |
0.9503481 |
2.9763599 |
-0.6798203 |
| -0.6657682 |
-0.2699058 |
1.7302165 |
0.7577277 |
-0.8277458 |
-0.5701472 |
2.0652190 |
-0.5965614 |
-0.7583279 |
0.1814002 |
0.4376131 |
| -0.2857374 |
-0.2590982 |
-0.5801836 |
-0.6154248 |
0.6933745 |
1.2824926 |
-0.5547322 |
-0.4618436 |
0.0406586 |
1.7960950 |
2.1594048 |
| -0.3400275 |
-0.2374829 |
-0.5801836 |
-0.6076887 |
1.2718288 |
1.1795682 |
-0.5582679 |
-0.2781375 |
-0.3540214 |
1.5154456 |
-0.6829680 |
| 0.6371945 |
-0.1672335 |
-0.5670935 |
-0.5999526 |
-1.2740839 |
-1.0268744 |
-0.5405894 |
-0.4128553 |
1.9563010 |
-0.6643923 |
-0.6735249 |
| -0.2857374 |
-0.2320791 |
-0.5769111 |
-0.6038207 |
1.5610559 |
-1.0300908 |
-0.5582679 |
-0.4740906 |
-0.3829005 |
-0.6720813 |
-0.6798203 |
| -0.6114781 |
-0.2645020 |
1.8054845 |
-0.6154248 |
-0.3921198 |
0.8289818 |
2.0864332 |
-0.6333026 |
-0.8160859 |
0.2390679 |
0.8908819 |
| -0.6114781 |
-0.2536944 |
1.6778562 |
3.0437366 |
-0.2849986 |
0.0602650 |
1.7858990 |
-0.6577967 |
-0.7294488 |
0.0237753 |
0.4250223 |
| -0.4486078 |
-0.2536944 |
2.5090767 |
-0.6115567 |
1.0825814 |
1.3693351 |
-0.5618036 |
-0.5353260 |
-0.7005698 |
0.2698240 |
1.9107366 |
| -0.6114781 |
-0.2536944 |
1.9396579 |
-0.6115567 |
-0.1385997 |
0.5620216 |
2.3975745 |
-0.6333026 |
-0.7342620 |
0.3313362 |
1.8698165 |
| -0.7200583 |
-0.2699058 |
0.8891785 |
0.6919711 |
-0.9562912 |
-0.4350589 |
0.9974386 |
-0.6333026 |
-0.8786572 |
-0.3068527 |
0.3589206 |
| -0.7200583 |
-0.2699058 |
0.7713678 |
1.0323582 |
-0.7634731 |
-0.2678067 |
0.9479389 |
-0.6333026 |
-0.9412284 |
-0.3645204 |
0.0315598 |
| -0.6114781 |
-0.2645020 |
2.5647095 |
1.9374785 |
-0.4206854 |
0.0377502 |
2.7157872 |
-0.6455496 |
-0.8064596 |
-0.0646485 |
1.7974194 |
| -0.7200583 |
5.0852635 |
0.3033972 |
0.4328128 |
-0.9562912 |
-0.6312586 |
0.5802264 |
-0.6455496 |
-0.9219757 |
-0.4183435 |
0.0410029 |
| -0.6657682 |
-0.2699058 |
1.0528046 |
1.2837805 |
-0.5777965 |
-0.5508489 |
1.2838300 |
-0.6210555 |
-0.9027230 |
-0.3030082 |
0.5855550 |
| -0.7743484 |
3.0372220 |
0.0743207 |
0.6030063 |
-1.0134225 |
-0.7952944 |
0.2160497 |
-0.6577967 |
-0.9797338 |
-0.5990356 |
-0.2328469 |
data_cov = cov(scale(data))
kable(data_cov, caption = "Data Tenaga Kesehatan Menurut Provinsi", align = "l")
Data Tenaga Kesehatan Menurut Provinsi
| Perawat |
1.0000000 |
-0.1300632 |
-0.3449156 |
-0.3614376 |
-0.2157498 |
-0.3537037 |
-0.3379673 |
0.8456187 |
-0.0367492 |
-0.2995013 |
-0.3853765 |
| Bidan |
-0.1300632 |
1.0000000 |
0.0309971 |
0.0953984 |
-0.2378612 |
-0.1811718 |
0.0840626 |
-0.1227109 |
-0.2121202 |
-0.1305131 |
-0.0368505 |
| Kefarmasian |
-0.3449156 |
0.0309971 |
1.0000000 |
0.4028614 |
-0.1868143 |
0.0898443 |
0.8636873 |
-0.3462255 |
-0.4730986 |
0.0025985 |
0.5818651 |
| Tenaga.Kesehatan.Masyarakat |
-0.3614376 |
0.0953984 |
0.4028614 |
1.0000000 |
-0.2883224 |
-0.0181896 |
0.4777468 |
-0.2439764 |
-0.3005442 |
0.1450279 |
0.2867113 |
| Tenaga.Kesehatan.Lingkungan |
-0.2157498 |
-0.2378612 |
-0.1868143 |
-0.2883224 |
1.0000000 |
0.3849522 |
-0.3065639 |
-0.0577553 |
0.2772048 |
0.0749156 |
-0.1007136 |
| Tenaga.Gizi |
-0.3537037 |
-0.1811718 |
0.0898443 |
-0.0181896 |
0.3849522 |
1.0000000 |
-0.0304783 |
-0.2415989 |
0.2123368 |
0.3724006 |
0.2366158 |
| Tenaga.Medis |
-0.3379673 |
0.0840626 |
0.8636873 |
0.4777468 |
-0.3065639 |
-0.0304783 |
1.0000000 |
-0.3282850 |
-0.4585780 |
-0.0247873 |
0.4618531 |
| Tenaga.Kesehatan.Psikologi.Klinis |
0.8456187 |
-0.1227109 |
-0.3462255 |
-0.2439764 |
-0.0577553 |
-0.2415989 |
-0.3282850 |
1.0000000 |
-0.0228300 |
-0.2705053 |
-0.3723339 |
| Tenaga.Keterapian.Fisik |
-0.0367492 |
-0.2121202 |
-0.4730986 |
-0.3005442 |
0.2772048 |
0.2123368 |
-0.4585780 |
-0.0228300 |
1.0000000 |
-0.1374370 |
-0.4268518 |
| Tenaga.Keteknisan.Medis |
-0.2995013 |
-0.1305131 |
0.0025985 |
0.1450279 |
0.0749156 |
0.3724006 |
-0.0247873 |
-0.2705053 |
-0.1374370 |
1.0000000 |
0.3467604 |
| Tenaga.Teknik.Biomedika |
-0.3853765 |
-0.0368505 |
0.5818651 |
0.2867113 |
-0.1007136 |
0.2366158 |
0.4618531 |
-0.3723339 |
-0.4268518 |
0.3467604 |
1.0000000 |
data_eigen = eigen(data_cov)
data_eigen$values
## [1] 3.5858033 2.2627688 1.2438903 1.0116230 0.8145284 0.6175847 0.5849378
## [8] 0.3938078 0.2667156 0.1227123 0.0956282
data_eigen$vectors
## [,1] [,2] [,3] [,4] [,5] [,6]
## [1,] 0.35316688 -0.3612052 -0.37170019 -0.02960520 0.04744833 -0.033081603
## [2,] -0.07614987 -0.2058978 0.59746353 -0.37412269 0.49463516 -0.266481531
## [3,] -0.43566054 -0.1449990 -0.14309811 0.36964507 0.14394537 -0.009257167
## [4,] -0.32646380 -0.1249120 0.08219773 -0.11386657 -0.58914162 -0.607253511
## [5,] 0.11203632 0.4525012 -0.07518883 0.27639382 0.39625514 -0.369691809
## [6,] -0.10360297 0.4821338 -0.20892539 0.02373193 0.12526164 -0.399326278
## [7,] -0.42565434 -0.2158043 -0.04211642 0.33519365 -0.01296780 -0.027074844
## [8,] 0.34076788 -0.3034006 -0.39974528 -0.01058452 0.05408908 -0.397073075
## [9,] 0.26825616 0.3411363 0.27692683 0.27382036 -0.38464734 0.137141600
## [10,] -0.16577563 0.3086182 -0.30681966 -0.65894877 -0.13047526 0.088371509
## [11,] -0.39123220 0.0552830 -0.30974625 -0.10458506 0.21094270 0.279105273
## [,7] [,8] [,9] [,10] [,11]
## [1,] 0.18305996 -0.03131303 -0.07703804 0.50713115 -0.55209817
## [2,] 0.24184093 0.01669182 -0.26894605 0.06985004 -0.05677866
## [3,] 0.11931871 -0.19833814 -0.18967397 0.54037607 0.47926734
## [4,] -0.17119212 0.26995448 -0.02405127 0.16966997 -0.10345584
## [5,] -0.54339543 0.01722436 -0.25725204 0.09540011 -0.18999584
## [6,] 0.63147156 -0.03148217 0.36323223 -0.02623134 -0.07124098
## [7,] 0.09608818 -0.39195096 -0.23297636 -0.47147488 -0.46668195
## [8,] 0.11722364 0.07699307 -0.32927735 -0.41046542 0.41803065
## [9,] 0.36854124 0.10636698 -0.58279057 0.07568167 -0.02698249
## [10,] -0.06741602 -0.43163658 -0.35873611 0.06194977 0.02652718
## [11,] 0.08415172 0.72667880 -0.23669436 -0.08378310 -0.12812647
boxplot(data, las = 2, col = "lightblue", main = "Boxplot Jumlah Tenaga Kesehatan per Provinsi 2025")
# Uji Kelayakan Analisis Faktor 1.)Matriks Korelasi Berdasarkan matriks
korelasi antar variabel tenaga kesehatan, terdapat 8 dari 55 korelasi
(14,5%) yang signifikan pada tingkat 0,01.
mat_corr = round(cor(data),3)
library(knitr)
kable(mat_corr, caption = "Matriks Korelasi Variabel Tenaga Kesehatan")
Matriks Korelasi Variabel Tenaga Kesehatan
| Perawat |
1.000 |
-0.130 |
-0.345 |
-0.361 |
-0.216 |
-0.354 |
-0.338 |
0.846 |
-0.037 |
-0.300 |
-0.385 |
| Bidan |
-0.130 |
1.000 |
0.031 |
0.095 |
-0.238 |
-0.181 |
0.084 |
-0.123 |
-0.212 |
-0.131 |
-0.037 |
| Kefarmasian |
-0.345 |
0.031 |
1.000 |
0.403 |
-0.187 |
0.090 |
0.864 |
-0.346 |
-0.473 |
0.003 |
0.582 |
| Tenaga.Kesehatan.Masyarakat |
-0.361 |
0.095 |
0.403 |
1.000 |
-0.288 |
-0.018 |
0.478 |
-0.244 |
-0.301 |
0.145 |
0.287 |
| Tenaga.Kesehatan.Lingkungan |
-0.216 |
-0.238 |
-0.187 |
-0.288 |
1.000 |
0.385 |
-0.307 |
-0.058 |
0.277 |
0.075 |
-0.101 |
| Tenaga.Gizi |
-0.354 |
-0.181 |
0.090 |
-0.018 |
0.385 |
1.000 |
-0.030 |
-0.242 |
0.212 |
0.372 |
0.237 |
| Tenaga.Medis |
-0.338 |
0.084 |
0.864 |
0.478 |
-0.307 |
-0.030 |
1.000 |
-0.328 |
-0.459 |
-0.025 |
0.462 |
| Tenaga.Kesehatan.Psikologi.Klinis |
0.846 |
-0.123 |
-0.346 |
-0.244 |
-0.058 |
-0.242 |
-0.328 |
1.000 |
-0.023 |
-0.271 |
-0.372 |
| Tenaga.Keterapian.Fisik |
-0.037 |
-0.212 |
-0.473 |
-0.301 |
0.277 |
0.212 |
-0.459 |
-0.023 |
1.000 |
-0.137 |
-0.427 |
| Tenaga.Keteknisan.Medis |
-0.300 |
-0.131 |
0.003 |
0.145 |
0.075 |
0.372 |
-0.025 |
-0.271 |
-0.137 |
1.000 |
0.347 |
| Tenaga.Teknik.Biomedika |
-0.385 |
-0.037 |
0.582 |
0.287 |
-0.101 |
0.237 |
0.462 |
-0.372 |
-0.427 |
0.347 |
1.000 |
library(sjPlot)
tab_corr(data)
|
|
Perawat
|
Bidan
|
Kefarmasian
|
Tenaga.Kesehatan.Masyarakat
|
Tenaga.Kesehatan.Lingkungan
|
Tenaga.Gizi
|
Tenaga.Medis
|
Tenaga.Kesehatan.Psikologi.Klinis
|
Tenaga.Keterapian.Fisik
|
Tenaga.Keteknisan.Medis
|
Tenaga.Teknik.Biomedika
|
|
Perawat
|
|
-0.130
|
-0.345*
|
-0.361*
|
-0.216
|
-0.354*
|
-0.338*
|
0.846***
|
-0.037
|
-0.300
|
-0.385*
|
|
Bidan
|
-0.130
|
|
0.031
|
0.095
|
-0.238
|
-0.181
|
0.084
|
-0.123
|
-0.212
|
-0.131
|
-0.037
|
|
Kefarmasian
|
-0.345*
|
0.031
|
|
0.403*
|
-0.187
|
0.090
|
0.864***
|
-0.346*
|
-0.473**
|
0.003
|
0.582***
|
|
Tenaga.Kesehatan.Masyarakat
|
-0.361*
|
0.095
|
0.403*
|
|
-0.288
|
-0.018
|
0.478**
|
-0.244
|
-0.301
|
0.145
|
0.287
|
|
Tenaga.Kesehatan.Lingkungan
|
-0.216
|
-0.238
|
-0.187
|
-0.288
|
|
0.385*
|
-0.307
|
-0.058
|
0.277
|
0.075
|
-0.101
|
|
Tenaga.Gizi
|
-0.354*
|
-0.181
|
0.090
|
-0.018
|
0.385*
|
|
-0.030
|
-0.242
|
0.212
|
0.372*
|
0.237
|
|
Tenaga.Medis
|
-0.338*
|
0.084
|
0.864***
|
0.478**
|
-0.307
|
-0.030
|
|
-0.328*
|
-0.459**
|
-0.025
|
0.462**
|
|
Tenaga.Kesehatan.Psikologi.Klinis
|
0.846***
|
-0.123
|
-0.346*
|
-0.244
|
-0.058
|
-0.242
|
-0.328*
|
|
-0.023
|
-0.271
|
-0.372*
|
|
Tenaga.Keterapian.Fisik
|
-0.037
|
-0.212
|
-0.473**
|
-0.301
|
0.277
|
0.212
|
-0.459**
|
-0.023
|
|
-0.137
|
-0.427**
|
|
Tenaga.Keteknisan.Medis
|
-0.300
|
-0.131
|
0.003
|
0.145
|
0.075
|
0.372*
|
-0.025
|
-0.271
|
-0.137
|
|
0.347*
|
|
Tenaga.Teknik.Biomedika
|
-0.385*
|
-0.037
|
0.582***
|
0.287
|
-0.101
|
0.237
|
0.462**
|
-0.372*
|
-0.427**
|
0.347*
|
|
|
Computed correlation used pearson-method with listwise-deletion.
|
2.)Measures of Sampling Adequacy Ukuran kecukupan sample untuk
mengukur tingkat interkorelasi di antara variabe dan kesesuaian analisis
faktoreksploratori. Nilai MSA harus di atas 0.50 sebelum melanjutkan
analisis faktor. Dari KMO pertama didapat MSA kecil pada variable ke-2
bidan 0.39 diikuti variabel ke-5 Tenaga Kesehatan Lingkungan 0.48.
Setelah mereduksi bertahap variabel ke-2 dan menjalankan ulang didapat
MSA normal dengan overal 0.66. Untuk menjalankan perlu melakukan
Instalasi Packages: install.packages(“sjPlot”)
library(psych)
library(GPArotation)
##
## Attaching package: 'GPArotation'
## The following objects are masked from 'package:psych':
##
## equamax, varimin
KMO(mat_corr)
## Kaiser-Meyer-Olkin factor adequacy
## Call: KMO(r = mat_corr)
## Overall MSA = 0.64
## MSA for each item =
## Perawat Bidan
## 0.57 0.39
## Kefarmasian Tenaga.Kesehatan.Masyarakat
## 0.68 0.70
## Tenaga.Kesehatan.Lingkungan Tenaga.Gizi
## 0.48 0.65
## Tenaga.Medis Tenaga.Kesehatan.Psikologi.Klinis
## 0.70 0.62
## Tenaga.Keterapian.Fisik Tenaga.Keteknisan.Medis
## 0.66 0.58
## Tenaga.Teknik.Biomedika
## 0.79
data_reduksi = data[, -2]
mat_corr_red <- cor(data_reduksi)
KMO(mat_corr_red)
## Kaiser-Meyer-Olkin factor adequacy
## Call: KMO(r = mat_corr_red)
## Overall MSA = 0.66
## MSA for each item =
## Perawat Kefarmasian
## 0.59 0.67
## Tenaga.Kesehatan.Masyarakat Tenaga.Kesehatan.Lingkungan
## 0.71 0.52
## Tenaga.Gizi Tenaga.Medis
## 0.62 0.70
## Tenaga.Kesehatan.Psikologi.Klinis Tenaga.Keterapian.Fisik
## 0.61 0.74
## Tenaga.Keteknisan.Medis Tenaga.Teknik.Biomedika
## 0.61 0.80
3.)Barlett Test Uji Barlett menggunakan function dari prof.Shigenobu
Aoki yang dilakukan untuk mengetahui adanya korelasi antar variabel. Uji
Bartlett yang signifikan secara statistik <0,5. Didapatkan p-value
< 2.2e-16 yang berarti terdapat korelasi yang signifikan antar
variabel.
uji_bartlett <- function(x)
{
method <- "Bartlett's test of sphericity"
data.name <- deparse(substitute(x))
x <- subset(x, complete.cases(x))
n <- nrow(x)
p <- ncol(x)
chisq <- (1-n+(2*p+5)/6) * log(det(cor(x)))
df <- p*(p-1)/2
p.value <- pchisq(chisq, df, lower.tail=FALSE)
names(chisq) <- "khi-squared"
names(df) <- "df"
result <- list(
statistic = chisq,
parameter = df,
p.value = p.value,
method = method,
data.name = data.name
)
class(result) <- "htest"
return(result)
}
uji_bartlett(mat_corr_red)
##
## Bartlett's test of sphericity
##
## data: mat_corr_red
## khi-squared = 245.67, df = 45, p-value < 2.2e-16
4.)Partial Correlation Matrix korelasi parsial menunjukkan bahwa
hanya dua pasangan variabel yang memiliki nilai lebih besar dari 0,50,
yaitu antara Perawat dengan Tenaga Kesehatan Psikologi Klinis (0,786)
serta antara Kefarmasian dengan Tenaga Medis (0,757). Sementara itu,
sebagian besar nilai korelasi parsial lainnya berada di bawah 0,50.
Secara kolektif, temuan ini menunjukkan bahwa struktur korelasi data
masih memadai dan kumpulan variabel yang digunakan sesuai untuk
dilakukan analisis faktor.
library(ppcor)
## Loading required package: MASS
parsial_corr <- pcor(data)
mat_parsial <- round(parsial_corr$estimate,3)
kable(mat_parsial, caption = "Matriks Korelasi Parsial Variabel Tenaga Kesehatan")
Matriks Korelasi Parsial Variabel Tenaga Kesehatan
| Perawat |
1.000 |
-0.248 |
0.075 |
-0.393 |
-0.440 |
-0.132 |
-0.167 |
0.786 |
-0.178 |
-0.085 |
-0.139 |
| Bidan |
-0.248 |
1.000 |
-0.062 |
-0.086 |
-0.275 |
-0.013 |
-0.061 |
0.027 |
-0.312 |
-0.201 |
-0.141 |
| Kefarmasian |
0.075 |
-0.062 |
1.000 |
0.008 |
0.106 |
0.184 |
0.757 |
-0.117 |
-0.177 |
-0.219 |
0.335 |
| Tenaga.Kesehatan.Masyarakat |
-0.393 |
-0.086 |
0.008 |
1.000 |
-0.311 |
-0.042 |
0.132 |
0.253 |
-0.131 |
0.078 |
-0.061 |
| Tenaga.Kesehatan.Lingkungan |
-0.440 |
-0.275 |
0.106 |
-0.311 |
1.000 |
0.235 |
-0.246 |
0.259 |
-0.107 |
-0.097 |
-0.152 |
| Tenaga.Gizi |
-0.132 |
-0.013 |
0.184 |
-0.042 |
0.235 |
1.000 |
-0.092 |
0.113 |
0.287 |
0.327 |
0.135 |
| Tenaga.Medis |
-0.167 |
-0.061 |
0.757 |
0.132 |
-0.246 |
-0.092 |
1.000 |
0.049 |
-0.103 |
-0.052 |
-0.139 |
| Tenaga.Kesehatan.Psikologi.Klinis |
0.786 |
0.027 |
-0.117 |
0.253 |
0.259 |
0.113 |
0.049 |
1.000 |
-0.076 |
-0.093 |
-0.021 |
| Tenaga.Keterapian.Fisik |
-0.178 |
-0.312 |
-0.177 |
-0.131 |
-0.107 |
0.287 |
-0.103 |
-0.076 |
1.000 |
-0.293 |
-0.289 |
| Tenaga.Keteknisan.Medis |
-0.085 |
-0.201 |
-0.219 |
0.078 |
-0.097 |
0.327 |
-0.052 |
-0.093 |
-0.293 |
1.000 |
0.213 |
| Tenaga.Teknik.Biomedika |
-0.139 |
-0.141 |
0.335 |
-0.061 |
-0.152 |
0.135 |
-0.139 |
-0.021 |
-0.289 |
0.213 |
1.000 |
Analisis Utama
1.)A priori criterion Berdasarkan kriteria Kaiser (eigenvalue >
1), diperoleh empat komponen utama yang dipertahankan. Komponen pertama
memiliki eigenvalue sebesar 3,59 dan mampu menjelaskan 32,6% variansi,
komponen kedua sebesar 2,26 (20,6%), komponen ketiga sebesar 1,24
(11,3%), dan komponen keempat sebesar 1,01 (9,2%). Secara kumulatif,
keempat komponen tersebut mampu menjelaskan 73,7% total variansi data.
Untuk menjalankan perlu melakukan Instalasi Packages:
install.packages(“psych”, dependencies = TRUE)
pca = prcomp(data, scale. = TRUE)
eigenvalues = pca$sdev^2
prop_var = eigenvalues / sum(eigenvalues) * 100
cum_var = cumsum(prop_var)
tabel_eigen <- data.frame(
Component = 1:length(eigenvalues),
Total = round(eigenvalues, 2),
`Percent of Variance` = round(prop_var, 1),
`Cumulative Percent` = round(cum_var, 1)
)
kable(tabel_eigen, caption = "Eigenvalues dan Persentase Variansi PCA Tenaga Kesehatan")
Eigenvalues dan Persentase Variansi PCA Tenaga
Kesehatan
| 1 |
3.59 |
32.6 |
32.6 |
| 2 |
2.26 |
20.6 |
53.2 |
| 3 |
1.24 |
11.3 |
64.5 |
| 4 |
1.01 |
9.2 |
73.7 |
| 5 |
0.81 |
7.4 |
81.1 |
| 6 |
0.62 |
5.6 |
86.7 |
| 7 |
0.58 |
5.3 |
92.0 |
| 8 |
0.39 |
3.6 |
95.6 |
| 9 |
0.27 |
2.4 |
98.0 |
| 10 |
0.12 |
1.1 |
99.1 |
| 11 |
0.10 |
0.9 |
100.0 |
2.)Scree Test Uji Scree menunjukkan tiga komponen valid dengan
mempertimbangkan perubahan nilai eigen(titik belok) untuk analisis lebih
lanjut Untuk menjalankan perlu melakukan Instalasi Packages:
install.packages(“ppcor”, dependencies = TRUE)
library(factoextra)
## Loading required package: ggplot2
##
## Attaching package: 'ggplot2'
## The following objects are masked from 'package:psych':
##
## %+%, alpha
## The following object is masked from 'package:sjPlot':
##
## set_theme
## Welcome! Want to learn more? See two factoextra-related books at https://goo.gl/ve3WBa
eig.val <-get_eigenvalue(pca)
eig.val
## eigenvalue variance.percent cumulative.variance.percent
## Dim.1 3.5858033 32.5982116 32.59821
## Dim.2 2.2627688 20.5706251 53.16884
## Dim.3 1.2438903 11.3080934 64.47693
## Dim.4 1.0116230 9.1965726 73.67350
## Dim.5 0.8145284 7.4048039 81.07831
## Dim.6 0.6175847 5.6144063 86.69271
## Dim.7 0.5849378 5.3176160 92.01033
## Dim.8 0.3938078 3.5800705 95.59040
## Dim.9 0.2667156 2.4246871 98.01509
## Dim.10 0.1227123 1.1155664 99.13065
## Dim.11 0.0956282 0.8693473 100.00000
plot(eig.val$eigenvalue,xlab = 'Eigenvalue number', ylab = 'Eigenvalue size',
main = 'Scree Plot Penelitian', type = "b")
abline(h = 1, col = 'red', lty = 7)

Menentukan PC
Nilai komunalitas yang sebelumnya diambil hanya 3PC tidak ada yang
menyentuh 0.5, tetapi setelah diambil 4PC menjadi naik terutama Tenaga
Keteknisan Medis (h² = 0,65) dan Bidan (h² = 0,55). Hal ini menunjukkan
bahwa model empat faktor lebih mampu menjelaskan variasi masing-masing
variabel dibandingkan model tiga faktor. Untuk menjalankan perlu
melakukan Instalasi Packages: install.packages(“factoextra”)
scores_reduced <- pca$x[, 1:4]
loadings_4 <- pca$rotation[, 1:4]
h2_4 <- rowSums(loadings_4^2)
tabel_pca_4 <- cbind(round(loadings_4, 2), h2 = round(h2_4, 2))
kable(tabel_pca_4, caption = "Matriks Loading PCA (PC1–PC4) dan Komunalitas (h²)")
Matriks Loading PCA (PC1–PC4) dan Komunalitas (h²)
| Perawat |
-0.35 |
0.36 |
-0.37 |
-0.03 |
0.39 |
| Bidan |
0.08 |
0.21 |
0.60 |
-0.37 |
0.55 |
| Kefarmasian |
0.44 |
0.14 |
-0.14 |
0.37 |
0.37 |
| Tenaga.Kesehatan.Masyarakat |
0.33 |
0.12 |
0.08 |
-0.11 |
0.14 |
| Tenaga.Kesehatan.Lingkungan |
-0.11 |
-0.45 |
-0.08 |
0.28 |
0.30 |
| Tenaga.Gizi |
0.10 |
-0.48 |
-0.21 |
0.02 |
0.29 |
| Tenaga.Medis |
0.43 |
0.22 |
-0.04 |
0.34 |
0.34 |
| Tenaga.Kesehatan.Psikologi.Klinis |
-0.34 |
0.30 |
-0.40 |
-0.01 |
0.37 |
| Tenaga.Keterapian.Fisik |
-0.27 |
-0.34 |
0.28 |
0.27 |
0.34 |
| Tenaga.Keteknisan.Medis |
0.17 |
-0.31 |
-0.31 |
-0.66 |
0.65 |
| Tenaga.Teknik.Biomedika |
0.39 |
-0.06 |
-0.31 |
-0.10 |
0.26 |
Faktor Analisis
variansi PC sebelum di rotasi
eigenvalues_4 <- pca$sdev[1:4]^2
ss_loadings <- colSums(loadings_4^2)
prop_var <- ss_loadings / ncol(data)
cum_var <- cumsum(prop_var)
prop_explained <- ss_loadings / sum(eigenvalues_4)
cum_proportion <- cumsum(prop_explained)
summary_tabel <- rbind(
"SS loadings" = round(ss_loadings, 2),
"Proportion Var" = round(prop_var, 2),
"Cumulative Var" = round(cum_var, 2),
"Proportion Explained" = round(prop_explained, 2),
"Cumulative Proportion" = round(cum_proportion, 2)
)
colnames(summary_tabel) <- paste0("PC", 1:4)
kable(summary_tabel, caption = "Ringkasan Varians PCA (Tanpa Rotasi, 4 PC)")
Ringkasan Varians PCA (Tanpa Rotasi, 4 PC)
| SS loadings |
1.00 |
1.00 |
1.00 |
1.00 |
| Proportion Var |
0.09 |
0.09 |
0.09 |
0.09 |
| Cumulative Var |
0.09 |
0.18 |
0.27 |
0.36 |
| Proportion Explained |
0.12 |
0.12 |
0.12 |
0.12 |
| Cumulative Proportion |
0.12 |
0.25 |
0.37 |
0.49 |
Penyederhanaan maksimum tercapai jika hanya terdapat angka 1 dan 0
dalam sebuah kolom. VARIMAX memaksimalkan jumlah varians dari muatan
yang dibutuhkan matriks vaktor
library(psych)
fa_pca <- principal(data, nfactors = 4, rotate = "varimax", scores = TRUE)
loadings_varimax <- fa_pca$loadings
h2_varimax <- fa_pca$communality
tabel_varimax <- cbind(round(unclass(loadings_varimax), 2), h2 = round(h2_varimax, 2))
kable(tabel_varimax, caption = "Matriks Loading PCA Dirotasi Varimax (RC1–RC4) dan Komunalitas (h²)")
Matriks Loading PCA Dirotasi Varimax (RC1–RC4) dan Komunalitas
(h²)
| Perawat |
-0.22 |
-0.92 |
-0.07 |
-0.15 |
0.92 |
| Bidan |
-0.09 |
0.30 |
-0.77 |
-0.06 |
0.70 |
| Kefarmasian |
0.92 |
0.20 |
0.05 |
-0.09 |
0.89 |
| Tenaga.Kesehatan.Masyarakat |
0.51 |
0.25 |
-0.30 |
0.15 |
0.44 |
| Tenaga.Kesehatan.Lingkungan |
-0.32 |
0.25 |
0.65 |
-0.01 |
0.59 |
| Tenaga.Gizi |
-0.03 |
0.37 |
0.58 |
0.38 |
0.62 |
| Tenaga.Medis |
0.89 |
0.20 |
-0.09 |
-0.15 |
0.87 |
| Tenaga.Kesehatan.Psikologi.Klinis |
-0.22 |
-0.87 |
0.01 |
-0.12 |
0.82 |
| Tenaga.Keterapian.Fisik |
-0.63 |
0.26 |
0.37 |
-0.31 |
0.69 |
| Tenaga.Keteknisan.Medis |
0.01 |
0.17 |
0.09 |
0.91 |
0.87 |
| Tenaga.Teknik.Biomedika |
0.66 |
0.19 |
0.10 |
0.45 |
0.69 |
Variasi PCA setelah di rotasi Varimax Menunjukkan intrepetasi yang
lebih mudah dipahami, variansi yang tadinya mirip menjadi “dipusatkan”
ke faktor yang memang dominan.
ss_rc <- colSums(unclass(loadings_varimax)^2)
prop_rc <- ss_rc / ncol(data)
cum_rc <- cumsum(prop_rc)
prop_exp_rc <- ss_rc / sum(ss_rc)
cum_prop_rc <- cumsum(prop_exp_rc)
summary_varimax <- rbind(
"SS loadings" = round(ss_rc, 2),
"Proportion Var" = round(prop_rc, 2),
"Cumulative Var" = round(cum_rc, 2),
"Proportion Explained" = round(prop_exp_rc, 2),
"Cumulative Proportion" = round(cum_prop_rc, 2)
)
colnames(summary_varimax) <- paste0("RC", 1:4)
kable(summary_varimax, caption = "Ringkasan Varians PCA Dirotasi Varimax (RC1–RC4)")
Ringkasan Varians PCA Dirotasi Varimax (RC1–RC4)
| SS loadings |
2.94 |
2.17 |
1.63 |
1.37 |
| Proportion Var |
0.27 |
0.20 |
0.15 |
0.12 |
| Cumulative Var |
0.27 |
0.46 |
0.61 |
0.74 |
| Proportion Explained |
0.36 |
0.27 |
0.20 |
0.17 |
| Cumulative Proportion |
0.36 |
0.63 |
0.83 |
1.00 |
loadings_4 <- pca$rotation[, 1:4]
h2_4 <- rowSums(loadings_4^2)
loadings_4 <- round(loadings_4, 2)
loadings_4[abs(loadings_4) < 0.40] <- NA
dominan <- apply(abs(pca$rotation[, 1:4]), 1, which.max)
loadings_sorted <- loadings_4[order(dominan), ]
h2_sorted <- round(h2_4[order(dominan)], 2)
tabel_pca_4 <- cbind(loadings_sorted, h2 = h2_sorted)
kable(tabel_pca_4, caption = "Simplified PCA Loading Matrix", na = " ")
Simplified PCA Loading Matrix
| Kefarmasian |
0.44 |
NA |
NA |
NA |
0.37 |
| Tenaga.Kesehatan.Masyarakat |
NA |
NA |
NA |
NA |
0.14 |
| Tenaga.Medis |
0.43 |
NA |
NA |
NA |
0.34 |
| Tenaga.Teknik.Biomedika |
NA |
NA |
NA |
NA |
0.26 |
| Tenaga.Kesehatan.Lingkungan |
NA |
-0.45 |
NA |
NA |
0.30 |
| Tenaga.Gizi |
NA |
-0.48 |
NA |
NA |
0.29 |
| Tenaga.Keterapian.Fisik |
NA |
NA |
NA |
NA |
0.34 |
| Perawat |
NA |
NA |
NA |
NA |
0.39 |
| Bidan |
NA |
NA |
0.6 |
NA |
0.55 |
| Tenaga.Kesehatan.Psikologi.Klinis |
NA |
NA |
-0.4 |
NA |
0.37 |
| Tenaga.Keteknisan.Medis |
NA |
NA |
NA |
-0.66 |
0.65 |
fa_pca <- principal(data, nfactors = 4, rotate = "varimax", scores = TRUE)
load_mat <- as.matrix(fa_pca$loadings)
h2_varimax <- fa_pca$communality
load_asli <- load_mat
load_mat <- round(load_mat, 2)
load_mat[abs(load_mat) < 0.40] <- NA
dominan <- apply(abs(load_asli), 1, which.max)
load_sorted <- load_mat[order(dominan), ]
h2_sorted <- round(h2_varimax[order(dominan)], 2)
tabel_varimax <- cbind(load_sorted, h2 = h2_sorted)
kable(tabel_varimax, caption = "Simplified Rotated Factor-Loading Matrix ", na = "")
Simplified Rotated Factor-Loading Matrix
| Kefarmasian |
0.92 |
NA |
NA |
NA |
0.89 |
| Tenaga.Kesehatan.Masyarakat |
0.51 |
NA |
NA |
NA |
0.44 |
| Tenaga.Medis |
0.89 |
NA |
NA |
NA |
0.87 |
| Tenaga.Keterapian.Fisik |
-0.63 |
NA |
NA |
NA |
0.69 |
| Tenaga.Teknik.Biomedika |
0.66 |
NA |
NA |
0.45 |
0.69 |
| Perawat |
NA |
-0.92 |
NA |
NA |
0.92 |
| Tenaga.Kesehatan.Psikologi.Klinis |
NA |
-0.87 |
NA |
NA |
0.82 |
| Bidan |
NA |
NA |
-0.77 |
NA |
0.70 |
| Tenaga.Kesehatan.Lingkungan |
NA |
NA |
0.65 |
NA |
0.59 |
| Tenaga.Gizi |
NA |
NA |
0.58 |
NA |
0.62 |
| Tenaga.Keteknisan.Medis |
NA |
NA |
NA |
0.91 |
0.87 |
Interpreting the Faktor
#Faktor Pelayanan dan Teknologi Medis (RC1) Kefarmasian, Tenaga
Kesehatan Masyarakat, Tenaga Medis, Tenaga Keterapian Fisik, Tenaga
Teknik Biomedika #Faktor Pelayanan Rawat dan Psikologis (RC2) Perawat
dan Tenaga Kesehatan psikologika Klinik #Faktor Kesehatan Preventif dan
Komunitas (RC3) Bidan, Tenaga Kesehatan Lingkungan dan Tenaga Gizi
#Faktor Spesialis Teknis Medis (RC4) Tenaga Keteknisan Medis dan Tenaga
Teknik Biomedika