Dilakukan sebuah survei untuk mengetahui metode pembelajaran yang
paling disukai mahasiswa pada beberapa program studi di suatu
universitas. Beberapa jenis metode pembelajarannya yakni:
Tatap Muka, Daring (online),
Hybrid, Praktikum, dan
Diskusi Kelompok. Responden survei ini berasal dari 5
program studi yaitu: Statistika, Informatika,
Manajemen, Agribisnis, dan
Biologi.
library(readxl)
metode <- read_excel("C:/Users/lizam/Downloads/Data_Analisis_Korespondensi.xlsx")
metode
## # A tibble: 25 × 3
## Program_Studi Metode_Pembelajaran Frekuensi
## <chr> <chr> <dbl>
## 1 Statistika Tatap Muka 120
## 2 Statistika Daring 45
## 3 Statistika Hybrid 90
## 4 Statistika Praktikum 60
## 5 Statistika Diskusi 35
## 6 Informatika Tatap Muka 80
## 7 Informatika Daring 110
## 8 Informatika Hybrid 140
## 9 Informatika Praktikum 70
## 10 Informatika Diskusi 50
## # ℹ 15 more rows
metode$Usia <- factor(metode$Program_Studi, levels=c("Statistika", "Informatika",
"Manajemen", "Agribisnis", "Biologi"))
metode$Metode_Pembelajaran <- factor(metode$Metode_Pembelajaran,
levels=c("Tatap Muka", "Daring",
"Hybrid","Praktikum","Diskusi"))
table_count <- xtabs(Frekuensi ~ Program_Studi + Metode_Pembelajaran, data = metode)
table_count
## Metode_Pembelajaran
## Program_Studi Tatap Muka Daring Hybrid Praktikum Diskusi
## Agribisnis 130 50 85 120 65
## Biologi 70 40 75 180 35
## Informatika 80 110 140 70 50
## Manajemen 150 60 100 40 100
## Statistika 120 45 90 60 35
n <- sum(table_count)
table_coresp <- table_count/n
table_coresp
## Metode_Pembelajaran
## Program_Studi Tatap Muka Daring Hybrid Praktikum Diskusi
## Agribisnis 0.06190476 0.02380952 0.04047619 0.05714286 0.03095238
## Biologi 0.03333333 0.01904762 0.03571429 0.08571429 0.01666667
## Informatika 0.03809524 0.05238095 0.06666667 0.03333333 0.02380952
## Manajemen 0.07142857 0.02857143 0.04761905 0.01904762 0.04761905
## Statistika 0.05714286 0.02142857 0.04285714 0.02857143 0.01666667
c <- colSums(table_coresp)
c
## Tatap Muka Daring Hybrid Praktikum Diskusi
## 0.2619048 0.1452381 0.2333333 0.2238095 0.1357143
r <- rowSums(table_coresp)
r
## Agribisnis Biologi Informatika Manajemen Statistika
## 0.2142857 0.1904762 0.2142857 0.2142857 0.1666667
Dc <- diag(c)
Dc
## [,1] [,2] [,3] [,4] [,5]
## [1,] 0.2619048 0.0000000 0.0000000 0.0000000 0.0000000
## [2,] 0.0000000 0.1452381 0.0000000 0.0000000 0.0000000
## [3,] 0.0000000 0.0000000 0.2333333 0.0000000 0.0000000
## [4,] 0.0000000 0.0000000 0.0000000 0.2238095 0.0000000
## [5,] 0.0000000 0.0000000 0.0000000 0.0000000 0.1357143
Dr <- diag(r)
Dr
## [,1] [,2] [,3] [,4] [,5]
## [1,] 0.2142857 0.0000000 0.0000000 0.0000000 0.0000000
## [2,] 0.0000000 0.1904762 0.0000000 0.0000000 0.0000000
## [3,] 0.0000000 0.0000000 0.2142857 0.0000000 0.0000000
## [4,] 0.0000000 0.0000000 0.0000000 0.2142857 0.0000000
## [5,] 0.0000000 0.0000000 0.0000000 0.0000000 0.1666667
Profil baris diperoleh dengan: \[ R= Dr^{-1}P \]
R <- solve(Dr)%*%table_coresp
rownames(R) <- rownames(table_coresp)
R
## Metode_Pembelajaran
## Tatap Muka Daring Hybrid Praktikum Diskusi
## Agribisnis 0.2888889 0.1111111 0.1888889 0.26666667 0.1444444
## Biologi 0.1750000 0.1000000 0.1875000 0.45000000 0.0875000
## Informatika 0.1777778 0.2444444 0.3111111 0.15555556 0.1111111
## Manajemen 0.3333333 0.1333333 0.2222222 0.08888889 0.2222222
## Statistika 0.3428571 0.1285714 0.2571429 0.17142857 0.1000000
Tatap Muka terlihat bahwa program studi
Statistika memiliki nilai terbesar yakni
0.3428571. Hal ini menunjukkan bahwa
Tatap Muka adalah metode pembelajaran yang paling disukai
mahasiswa Statistika.Daring dan Hybrid program studi
Informatika memiliki nilai tertinggi, yakni
0.2444444 dan 0.3111111. Artinya,
metode pembelajaran Daring dan Hybrid adalah
metode yang paling disukai mahasiswa Informatika.Praktikum ditunjukkan bahwa program studi
Biologi memiliki nilai tertinggi sebesar
0.45 yang artinya Praktikum adalah metode
pembelajaran yang paling disukai mahasiswa prodi
Biologi.Diskusi menunjukkan bahwa program studi
Manajemen memiliki nilai terbesar yakni
0.2222222. Hal ini menunjukkan bahwa
Diskusi adalah metode pembelajaran yang paling disukai
mahasiswa prodi Manajemen.Kemudian diperoleh nilai massa setiap kolom sebagai berikut:
mass_c <- colSums(R)
mass_c
## Tatap Muka Daring Hybrid Praktikum Diskusi
## 1.3178571 0.7174603 1.1668651 1.1325397 0.6652778
Nilai massa terbesar adalah 1.31785711 terdapat pada
kolom Tatap Muka yang artinya metode pembelajaran ini
adalah yang paling banyak disukai mahasiswa.
Profil kolom diperoleh dengan:
\[ C = PDc^{-1} \]
C <- table_coresp %*% solve(Dc)
colnames(C) <- colnames(table_coresp)
C
##
## Program_Studi Tatap Muka Daring Hybrid Praktikum Diskusi
## Agribisnis 0.2363636 0.1639344 0.1734694 0.25531915 0.2280702
## Biologi 0.1272727 0.1311475 0.1530612 0.38297872 0.1228070
## Informatika 0.1454545 0.3606557 0.2857143 0.14893617 0.1754386
## Manajemen 0.2727273 0.1967213 0.2040816 0.08510638 0.3508772
## Statistika 0.2181818 0.1475410 0.1836735 0.12765957 0.1228070
Agribisnis dan
Manajemen mempunyai massa terbesar pada metode pembelajaran
Diskusi, yaitu 0.2880702. Hal ini
menunjukkan bahwa mahasiswa terbanyak yang menyukai metode pembelajaran
Diskusi adalah mahasiswa prodi Agribisnis dan
Manajemen.Biologi mempunya massa terbesar
pada metode pembelajaran Praktikum dengan nilai sebesar
0.38297872. Ini menandakan bahwa mahasiswa terbanyak
yang menyukai metode pembelajaran Praktikum adalah
mahasiswa prodi Biologi.Informatika mempunyai massa
terbesar pada metode pembelajaran Daring sebesar
0.3606557. Ini artinya mahasiswa terbanyak yang
menyukai metode pembelajaran Daring adalah mahasiswa prodi
Informatika.Statistika mempunyai massa
terbesar dengan nilai 0.2181818 pada metode
pembelajaran Tatap Muka. Ini menunjukkan bahwa mahasiswa
terbanyak yang menyukai metode pembelajaran Tatap Muka
adalah mahasiswa prodi Statistika.Kemudian diperolah nilai massa setiap baris sebagai berikut:
mass_r <- rowSums(C)
mass_r
## Agribisnis Biologi Informatika Manajemen Statistika
## 1.0571568 0.9172672 1.1161993 1.1095138 0.7998629
Nilai massa terbesar pada baris program studi menunjukkan bahwa Informatika, Manajemen, dan Agribisnis merupakan program studi dengan jumlah responden yang relatif besar, sehingga memiliki pengaruh yang lebih besar terhadap pembentukan dimensi dalam analisis korespondensi.
Koordinat baris dan kolom yang ditentukan menggunakan GSVD melalui matriks:
\[ P-rc' \]
Prc <- table_coresp - r%*%t(c)
Prc
## Metode_Pembelajaran
## Program_Studi Tatap Muka Daring Hybrid Praktikum Diskusi
## Agribisnis 0.005782313 -0.007312925 -0.009523810 0.009183673 0.001870748
## Biologi -0.016553288 -0.008616780 -0.008730159 0.043083900 -0.009183673
## Informatika -0.018027211 0.021258503 0.016666667 -0.014625850 -0.005272109
## Manajemen 0.015306122 -0.002551020 -0.002380952 -0.028911565 0.018537415
## Statistika 0.013492063 -0.002777778 0.003968254 -0.008730159 -0.005952381
Kemudian matriks Z diperoleh melalui:
Z <- diag(1/sqrt(diag(Dr)))%*%Prc%*%diag(1/sqrt(diag(Dc)))
Z
## [,1] [,2] [,3] [,4] [,5]
## [1,] 0.02440806 -0.04145284 -0.04259177 0.04193538 0.01096998
## [2,] -0.07411263 -0.05180652 -0.04141078 0.20866777 -0.05711936
## [3,] -0.07609572 0.12050243 0.07453560 -0.06678597 -0.03091541
## [4,] 0.06460957 -0.01446029 -0.01064794 -0.13201878 0.10870256
## [5,] 0.06457766 -0.01785389 0.02012272 -0.04520209 -0.03957797
Du <- diag(sqrt(eigen(Z %*% t(Z))$values))[1:2,1:2]
Du
## [,1] [,2]
## [1,] 0.3007432 0.000000
## [2,] 0.0000000 0.193975
Kemudian dari matriks Z yang sudah diperoleh, dicari matriks U (vektor ciri dari ZZ’) dan matriks V (vektor ciri dari matriks Z’Z).
library(factoextra)
## Warning: package 'factoextra' was built under R version 4.4.3
## Loading required package: ggplot2
## Warning: package 'ggplot2' was built under R version 4.4.3
## Welcome! Want to learn more? See two factoextra-related books at https://goo.gl/ve3WBa
U <- eigen(Z %*% t(Z))$vectors
U
## [,1] [,2] [,3] [,4] [,5]
## [1,] -0.1426775 0.326676022 -0.03594813 0.8107700 0.4629100
## [2,] -0.7899646 0.004337579 -0.16614060 -0.3973138 0.4364358
## [3,] 0.2221845 -0.842325824 -0.12250271 0.1087595 0.4629100
## [4,] 0.5325132 0.414203819 -0.45034500 -0.3574474 0.4629100
## [5,] 0.1505421 0.110391866 0.86792137 -0.2125948 0.4082483
A <- (sqrt(Dr) %*% U)[,1:2]
A
## [,1] [,2]
## [1,] -0.06604686 0.151221614
## [2,] -0.34476880 0.001893075
## [3,] 0.10285144 -0.389921089
## [4,] 0.24650569 0.191739110
## [5,] 0.06145853 0.045067291
V <- eigen(t(Z) %*% Z)$vectors
V
## [,1] [,2] [,3] [,4] [,5]
## [1,] 0.2736011 0.54460549 0.53521480 0.28317427 -0.5117663
## [2,] 0.2102305 -0.63528355 -0.15310883 0.61930407 -0.3811012
## [3,] 0.1752649 -0.40760738 0.24164617 -0.71513092 -0.4830459
## [4,] -0.8737311 0.05767403 -0.08718909 0.04308323 -0.4730851
## [5,] 0.2946552 0.36103962 -0.79000506 -0.15167864 -0.3683942
B <- (sqrt(Dc) %*% V)[,1:2]
B
## [,1] [,2]
## [1,] 0.14001982 0.27871074
## [2,] 0.08011910 -0.24210730
## [3,] 0.08466099 -0.19689307
## [4,] -0.41334919 0.02728472
## [5,] 0.10854927 0.13300490
rows <- solve(Dr)%*%A%*%Du
rows
## [,1] [,2]
## [1,] -0.09269469 0.136888300
## [2,] -0.54435617 0.001927848
## [3,] 0.14434875 -0.352963003
## [4,] 0.34596297 0.173565406
## [5,] 0.11089944 0.052451556
cols <- solve(Dc)%*%B%*%Du
cols
## [,1] [,2]
## [1,] 0.1607837 0.20642201
## [2,] 0.1659019 -0.32335011
## [3,] 0.1091195 -0.16368140
## [4,] -0.5554365 0.02364758
## [5,] 0.2405455 0.19010247
row_df <- data.frame(rows)
col_df <- data.frame(cols)
colnames(row_df) <- c("Dim.1", "Dim.2")
rownames(row_df) <- rownames(table_count)
colnames(col_df) <- c("Dim.1", "Dim.2")
rownames(col_df) <- colnames(table_count)
row_df["Var"] <- "Usia"
row_df["Size"] <- 2
col_df["Var"] <- "Stasiun TV"
col_df["Size"] <- 2
ca.plot.df <- rbind(col_df, row_df)
ca.plot.df["Label"] <- rownames(ca.plot.df)
ca.plot.df
## Dim.1 Dim.2 Var Size Label
## Tatap Muka 0.16078370 0.206422007 Stasiun TV 2 Tatap Muka
## Daring 0.16590192 -0.323350112 Stasiun TV 2 Daring
## Hybrid 0.10911952 -0.163681398 Stasiun TV 2 Hybrid
## Praktikum -0.55543650 0.023647578 Stasiun TV 2 Praktikum
## Diskusi 0.24054550 0.190102469 Stasiun TV 2 Diskusi
## Agribisnis -0.09269469 0.136888300 Usia 2 Agribisnis
## Biologi -0.54435617 0.001927848 Usia 2 Biologi
## Informatika 0.14434875 -0.352963003 Usia 2 Informatika
## Manajemen 0.34596297 0.173565406 Usia 2 Manajemen
## Statistika 0.11089944 0.052451556 Usia 2 Statistika
library(ggplot2)
p <- ggplot(ca.plot.df, aes(x = Dim.1, y = Dim.2,
col = Var, shape = Var,
label = Label, size = Size)) +
geom_vline(xintercept = 0, lty = "dashed", alpha = .5) +
geom_hline(yintercept = 0, lty = "dashed", alpha = .5) +
geom_point() + geom_text(check_overlap = T, hjust=-0.15)
plot(p)
Untuk menyelesaikan analisis korespondensi dengan R, data yang
digunakan adalah data yang telah direpresentasikan pada tabel
kontingensi, sebagaimana yang tersimpan pada objek
table_count. Package yang digunakan adalah
FactoMineR dengan fungsi CA(), serta
visualisasi menggunakan factoextra.
library(factoextra)
library(FactoMineR)
## Warning: package 'FactoMineR' was built under R version 4.4.3
table_count
## Metode_Pembelajaran
## Program_Studi Tatap Muka Daring Hybrid Praktikum Diskusi
## Agribisnis 130 50 85 120 65
## Biologi 70 40 75 180 35
## Informatika 80 110 140 70 50
## Manajemen 150 60 100 40 100
## Statistika 120 45 90 60 35
library(gplots)
## Warning: package 'gplots' was built under R version 4.4.3
##
## Attaching package: 'gplots'
## The following object is masked from 'package:stats':
##
## lowess
balloonplot(table_count, main ="Tabel Kontingensi Metode Pembelajaran x Prodi", xlab ="", ylab="", label = FALSE, show.margins = FALSE)
Semakin besar lingkaran menunjukkan nilai yang semakin besar.
chisq <- chisq.test(table_count)
chisq
##
## Pearson's Chi-squared test
##
## data: table_count
## X-squared = 286.09, df = 16, p-value < 2.2e-16
Uji Khi-Kuadrat menunjukkan bahwa peubah
Metode Pembelajaran dan Program Studi saling
terkait secara signifikan.
model_metode <- CA(table_count, graph = F)
model_metode
## **Results of the Correspondence Analysis (CA)**
## The row variable has 5 categories; the column variable has 5 categories
## The chi square of independence between the two variables is equal to 286.0875 (p-value = 1.924734e-51 ).
## *The results are available in the following objects:
##
## name description
## 1 "$eig" "eigenvalues"
## 2 "$col" "results for the columns"
## 3 "$col$coord" "coord. for the columns"
## 4 "$col$cos2" "cos2 for the columns"
## 5 "$col$contrib" "contributions of the columns"
## 6 "$row" "results for the rows"
## 7 "$row$coord" "coord. for the rows"
## 8 "$row$cos2" "cos2 for the rows"
## 9 "$row$contrib" "contributions of the rows"
## 10 "$call" "summary called parameters"
## 11 "$call$marge.col" "weights of the columns"
## 12 "$call$marge.row" "weights of the rows"
eig.val <- get_eigenvalue(model_metode)
eig.val
## eigenvalue variance.percent cumulative.variance.percent
## Dim.1 0.0904465022 66.391457 66.39146
## Dim.2 0.0376262866 27.619244 94.01070
## Dim.3 0.0079460430 5.832723 99.84342
## Dim.4 0.0002133068 0.156576 100.00000
fviz_screeplot(model_metode, addlabels = TRUE, barfill = "#E23C64", barcolor = "#E23C64")
Dari grafik dapat terlihat bahwa dengan mereduksi menjadi 2 dimensi saja, kita sudah mendapatkan 94% keragaman dalam data.
row <- get_ca_row(model_metode)
row
## Correspondence Analysis - Results for rows
## ===================================================
## Name Description
## 1 "$coord" "Coordinates for the rows"
## 2 "$cos2" "Cos2 for the rows"
## 3 "$contrib" "contributions of the rows"
## 4 "$inertia" "Inertia of the rows"
Koordinat dari profil baris
row$coord
## Dim 1 Dim 2 Dim 3 Dim 4
## Agribisnis -0.09269469 -0.136888300 0.006922376 0.025580168
## Biologi -0.54435617 -0.001927848 0.033933673 -0.013295837
## Informatika 0.14434875 0.352963003 0.023589816 0.003431412
## Manajemen 0.34596297 -0.173565406 0.086720982 -0.011277629
## Statistika 0.11089944 -0.052451556 -0.189509708 -0.007605551
Kontribus keragaman profil baris
row$contrib
## Dim 1 Dim 2 Dim 3 Dim 4
## Agribisnis 2.035688 10.671722348 0.1292268 65.734792
## Biologi 62.404401 0.001881459 2.7602698 15.785829
## Informatika 4.936595 70.951279429 1.5006915 1.182863
## Manajemen 28.357026 17.156480355 20.2810617 12.776861
## Statistika 2.266291 1.218636409 75.3287502 4.519656
Profil baris yang berkontribusi paling banyak kepada
Dim 1 dan Dim 2 adalah baris yang paling
penting dalam menjelaskan keragaman data. Nilai massa terbesar pada
baris program studi menunjukkan bahwa Informatika,
Manajemen, dan Agribisnis merupakan program
studi dengan jumlah responden yang relatif besar, sehingga memiliki
pengaruh yang lebih besar terhadap pembentukan dimensi dalam analisis
korespondensi.
Plot profil baris
fviz_ca_row(model_metode, col.row="#B0183D", shape.row = 15)
col <- get_ca_col(model_metode)
col
## Correspondence Analysis - Results for columns
## ===================================================
## Name Description
## 1 "$coord" "Coordinates for the columns"
## 2 "$cos2" "Cos2 for the columns"
## 3 "$contrib" "contributions of the columns"
## 4 "$inertia" "Inertia of the columns"
Koordinat dari profil kolom
col$coord
## Dim 1 Dim 2 Dim 3 Dim 4
## Tatap Muka 0.1607837 -0.20642201 -0.09322489 0.008081360
## Daring 0.1659019 0.32335011 0.03581256 0.023733731
## Hybrid 0.1091195 0.16368140 -0.04459303 -0.021622182
## Praktikum -0.5554365 -0.02364758 0.01642851 0.001330060
## Diskusi 0.2405455 -0.19010247 0.19115803 -0.006013316
Kontribusi keragaman profil kolom
col$contrib
## Dim 1 Dim 2 Dim 3 Dim 4
## Tatap Muka 7.485756 29.6595138 28.6454877 8.0187666
## Daring 4.419688 40.3585187 2.3442313 38.3537526
## Hybrid 3.071779 16.6143776 5.8392871 51.1412232
## Praktikum 76.340608 0.3326293 0.7601937 0.1856165
## Diskusi 8.682170 13.0349605 62.4108002 2.3006411
Profil kolom yang berkontribusi paling banyak kepada
Dim 1 dan Dim 2 adalah baris yang paling
penting dalam menjelaskan keragaman data. Metode Tatap Muka,
Hybrid, dan Praktikum memiliki nilai massa yang relatif besar,
yang menandakan bahwa metode-metode tersebut paling sering dipilih oleh
mahasiswa secara keseluruhan.
Plot profil kolom
fviz_ca_col(model_metode, col.col="#B0183D", shape.col = 15)
fviz_ca_biplot(model_metode, repel = TRUE, col.row="#E23C64", col.col="#FFD464")