Dear Bapak/Ibu,
Selamat atas keberhasilannya melewati 3 hari pembelajaran di kelas DSS - Correspondence Analysis for Brand Personalities! Dalam rangka meningkatkan kemampuan Bapak dan Ibu dalam mengimplementasikan ilmu yang didapatkan di kelas, kami menyediakan modul Learn by Building (LBB) sebagai sarana Bapak dan Ibu untuk berlatih dalam membangun study case.
Modul LBB ini akan menjadi syarat Bapak/Ibu untuk mendapatkan sertifikat pembelajaran DSS pada kali ini. Pengerjaan LBB ini juga akan meningkatkan skill sebagai seorang Data Scientist agar dapat mengerjakan modul tambahan ini, hasil dari model tambahan ini dapat ditambahkan sebagai portofolio pribadi.
Dalam pembuatan report, jangan lupa untuk menyertakan hal-hal berikut:
Dalam pembuatan report LBB ini, kami juga sudah menyediakan sebuah
data yang dapat digunakan yaitu graduation.csv. Data
tersebut merupakan data dari National Center for Education Statistics
(NCES) yang memberikan informasi mengenai persentase siswa SMA di
Amerika Serikat yang lulus pada tahun ajaran 2019-2020, berdasarkan
karakteristik seperti etnis, status miskin, bahasa Inggris sebagai
bahasa kedua, dan kecacatan. Data tersebut dapat digunakan untuk
memahami tingkat kelulusan siswa di Amerika Serikat dan perbedaan dalam
tingkat kelulusan di antara kelompok-kelompok tersebut
graduation <- readxl::read_xlsx("data/graduation.xlsx")
graduationDeskripsi tiap kolomnya dapat dilihat pada link berikut
Hasil report analysis yang telah dikerjakan, silakan dibuat dalam bentuk .html, kemudian silakan mencantumkan file .html tersebut kepada bagian assigment LBB yang sudah diassiggn kepada Bapak/Ibu semua. Bapak/Ibu akan kami berikan feedback terkait pekerjaan Bapak/Ibu yang mengumpulkan modul Learn by Building ini mengenai hal-hal yang dirasa bisa dikembangkan.
Untuk melakukan transformasi R Markdown menjadi format yang kita inginkan, kita bisa mengklik tombol knit dan memilih format file yang di-inginkan. Untuk ilustrasi yang lebih jelas, bisa melihat gambar di bawah ini.
knitr::include_graphics("assets/knit.png")
Jika ada pertanyaan yang ingin Bapak/Ibu tanyakan, silahkan menghubungi
kami via email di mentor@algorit.ma. Kami akan dengan senang hati
membantu.
Terima kasih dan good luck !
Template LBB:
library("dplyr")
#data analysis
library("FactoMineR")
library("factoextra")
#data visualization
library("ggpubr") #untuk balloonplot
library("graphics") #untuk mosaicplot
library("ggplot2")
#data reference
library("datasets")
library(plotly)graduation <- read.csv("data/graduation.csv")
graduationrownames(graduation) <- graduation$State
graduation# Membuang kolom yang tidak digunakan
graduation_table <- graduation %>%
select(-State)
graduation_tablesummary(graduation_table)#> Black White Economically.disadvantaged English.learner
#> Min. :69.00 Min. :82.80 Min. :62.00 Min. :39.00
#> 1st Qu.:75.00 1st Qu.:87.80 1st Qu.:75.90 1st Qu.:65.00
#> Median :78.90 Median :90.30 Median :79.60 Median :69.00
#> Mean :78.98 Mean :89.53 Mean :79.43 Mean :69.04
#> 3rd Qu.:84.50 3rd Qu.:92.20 3rd Qu.:85.00 3rd Qu.:76.00
#> Max. :88.20 Max. :95.00 Max. :89.80 Max. :89.00
#> Students.with.disabilities Homeless.enrolled Foster.care
#> Min. :55.40 Min. :48.60 Min. :31.00
#> 1st Qu.:63.00 1st Qu.:61.00 1st Qu.:50.00
#> Median :68.60 Median :66.00 Median :56.00
#> Mean :69.95 Mean :66.62 Mean :55.39
#> 3rd Qu.:75.00 3rd Qu.:74.00 3rd Qu.:62.00
#> Max. :88.10 Max. :88.00 Max. :74.00
my_cols <- c("#0D0887FF", "#6A00A8FF", "#B12A90FF","#E16462FF", "#FCA636FF", "#F0F921FF")
plot1 <- ggballoonplot(graduation_table, fill = "value") +
scale_fill_gradientn(colours = my_cols) +
labs(title = "Balloonplot for Brand Personalites") +
theme(plot.title = element_text(hjust = 0.5))
ggplotly(plot1,height = 800, width = 800)# Mosaic plot of observed values
mosaicplot(graduation_table,
las = 2,
shade = T,
off = 25,
main = "Mosaic plot for brand personalities")chisq.test(graduation_table)#>
#> Pearson's Chi-squared test
#>
#> data: graduation_table
#> X-squared = 102.98, df = 168, p-value = 1
Catatan: Tolak H0 jika pvalue < 0.05
Kesimpulan: p-value = 1 > 0.05, gagal tolak H0 maka tidak ada hubungan antara kelompok karakteristik demografik dan kelompok etnis/rasnya
graduation.ca <- CA(graduation_table, graph = FALSE)
graduation.ca#> **Results of the Correspondence Analysis (CA)**
#> The row variable has 29 categories; the column variable has 7 categories
#> The chi square of independence between the two variables is equal to 102.977 (p-value = 0.9999802 ).
#> *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"
graduation.ca$row$coord#> Dim 1 Dim 2 Dim 3 Dim 4
#> Alabama -0.033380129 0.035487857 -0.0231004098 -0.013008876
#> Alaska 0.001180289 0.009298571 -0.0119273222 -0.046792397
#> Arizona -0.017641217 -0.054904027 0.0599995460 -0.004905556
#> Arkansas 0.039177234 0.048321216 0.0089500180 0.015691435
#> California -0.006296293 0.020939341 -0.0143271783 0.008465513
#> Colorado 0.081789722 -0.112793699 -0.0195202699 -0.014591585
#> Connecticut 0.006705500 -0.053733032 -0.0082156321 0.004238630
#> Delaware -0.026698651 0.074440852 -0.0011063594 -0.026446954
#> District of Columbia -0.063009152 -0.026114661 -0.0017156639 -0.064008073
#> Florida 0.059510646 0.013828570 -0.0090048090 0.024623187
#> Idaho 0.035503017 -0.053936563 -0.0345313298 0.005821739
#> Indiana 0.041453813 0.061116383 -0.0405998850 0.021955984
#> Iowa 0.006455232 0.035231870 -0.0073723352 0.010506443
#> Kansas 0.049078253 0.038840504 0.0296281957 -0.011947289
#> Louisiana -0.079336938 -0.021430735 0.0084420700 0.045427187
#> Maine 0.059366115 -0.003456203 0.0195358582 -0.030076882
#> Maryland -0.055496133 -0.058737653 0.0016422089 0.019233483
#> Massachusetts -0.012879272 -0.006647125 0.0294525767 -0.007899921
#> Michigan 0.073690377 -0.047724953 -0.0362212450 -0.025352076
#> Mississippi -0.082035520 0.026872484 -0.0733852322 -0.010422522
#> Montana -0.049622575 0.068128351 0.0492951688 -0.015745581
#> Nebraska -0.080023543 -0.025515027 0.0067967163 0.018977833
#> Nevada 0.049805539 0.011356855 -0.0532601035 0.028590036
#> New Hampshire 0.035634201 -0.062446150 0.0359616925 0.003151724
#> New Jersey 0.013563402 -0.015473045 0.0088631743 0.027345863
#> New York -0.152704852 -0.027540877 0.0103404996 0.028347944
#> Oklahoma 0.080907302 0.040942866 0.0591061976 0.027756297
#> Pennsylvania 0.001199766 0.004802213 0.0003157092 0.016820113
#> Rhode Island -0.009975332 0.002882903 0.0082477980 -0.054065802
#> Dim 5
#> Alabama 0.0192904200
#> Alaska 0.0024739898
#> Arizona 0.0147285732
#> Arkansas -0.0004491340
#> California -0.0007968192
#> Colorado 0.0142964913
#> Connecticut 0.0009630815
#> Delaware 0.0086622977
#> District of Columbia -0.0479030319
#> Florida 0.0062754801
#> Idaho -0.0070844686
#> Indiana -0.0052067782
#> Iowa -0.0109092589
#> Kansas -0.0076029371
#> Louisiana 0.0055753554
#> Maine 0.0173300830
#> Maryland 0.0084349967
#> Massachusetts 0.0026475175
#> Michigan -0.0114578756
#> Mississippi 0.0316641387
#> Montana -0.0139720319
#> Nebraska -0.0097766683
#> Nevada -0.0251941731
#> New Hampshire -0.0031520206
#> New Jersey 0.0003933418
#> New York -0.0033374173
#> Oklahoma 0.0103317675
#> Pennsylvania -0.0181370234
#> Rhode Island 0.0155990827
fviz_ca_row(graduation.ca, col.row = "cos2",
gradient.cols = c("#00AFBB", "#E7B800", "#FC4E07"),
repel = TRUE,
title="Row Poins based on Their Quality Cos2")Kita dapat mengidentifikasi kesamaan atau ketidaksamaan dalam kategori baris dengan memperhatikan jarak antar titik koordinat baris.
Sehingga, berdasarkan plot titik koordinat baris insight yang didapatkan adalah:
head(graduation.ca$row$contrib)#> Dim 1 Dim 2 Dim 3 Dim 4 Dim 5
#> Alabama 1.357023946 2.3922806 2.1168588 0.9312786 6.295913228
#> Alaska 0.001454745 0.1408262 0.4838792 10.3311634 0.088791155
#> Arizona 0.306721525 4.6337934 11.5564424 0.1071648 2.970109247
#> Arkansas 1.955633220 4.6401996 0.3324365 1.4175350 0.003570555
#> California 0.045073366 0.7775302 0.7601732 0.3681674 0.010028446
#> Colorado 6.762571461 20.0597339 1.2546630 0.9725411 2.870365634
# Contributions of rows to dimension 1
fviz_contrib(graduation.ca, choice = "row", axes = 1)# Contributions of rows to dimension 2
fviz_contrib(graduation.ca, choice = "row", axes = 2)
Insight:
# Koordinat kolom
head(graduation.ca$col$coord)#> Dim 1 Dim 2 Dim 3 Dim 4
#> Black -0.02694753 -0.031162726 -0.001803787 -0.01846495
#> White -0.03379917 -0.054668035 -0.001439753 -0.01828960
#> Economically.disadvantaged -0.01047897 -0.016735097 -0.004384464 0.01904894
#> English.learner 0.11856755 0.023156333 -0.012581688 -0.02912370
#> Students.with.disabilities 0.03262476 0.001175325 0.061467729 0.03102843
#> Homeless.enrolled -0.00239575 0.021551945 -0.053284101 0.03966462
#> Dim 5
#> Black 0.0220179065
#> White -0.0217767766
#> Economically.disadvantaged 0.0171858717
#> English.learner -0.0007318496
#> Students.with.disabilities -0.0053372382
#> Homeless.enrolled -0.0086446672
# Kualitas representasi tiap kategori kolom pada plot 2 dimensi
head(graduation.ca$col$cos2)#> Dim 1 Dim 2 Dim 3 Dim 4
#> Black 0.257760741 0.3447067724 0.001154914 0.12102505
#> White 0.230350457 0.6026207115 0.000417978 0.06745053
#> Economically.disadvantaged 0.070698512 0.1803141191 0.012376740 0.23362267
#> English.learner 0.900620857 0.0343518285 0.010141172 0.05433799
#> Students.with.disabilities 0.180905188 0.0002347861 0.642171039 0.16363488
#> Homeless.enrolled 0.001134624 0.0918209917 0.561260307 0.31101093
#> Dim 5
#> Black 0.17208023202
#> White 0.09562342981
#> Economically.disadvantaged 0.19015879681
#> English.learner 0.00003431263
#> Students.with.disabilities 0.00484160717
#> Homeless.enrolled 0.01477289463
# Kontribusi tiap kategori kolom ke dimensi CA
head(graduation.ca$col$contrib)#> Dim 1 Dim 2 Dim 3 Dim 4
#> Black 3.69775916 7.71281211 0.05396503 7.844870
#> White 6.59461929 26.90827087 0.03897581 8.725186
#> Economically.disadvantaged 0.56236030 2.23704747 0.32066510 8.396688
#> English.learner 62.57900025 3.72286738 2.29517497 17.059991
#> Students.with.disabilities 4.80019745 0.00971676 55.50087665 19.618807
#> Homeless.enrolled 0.02465356 3.11179228 39.72216486 30.534570
#> Dim 5
#> Black 34.29388767
#> White 38.03022162
#> Economically.disadvantaged 21.01283687
#> English.learner 0.03312108
#> Students.with.disabilities 1.78468478
#> Homeless.enrolled 4.45920072
fviz_ca_col(graduation.ca, col.col = "cos2",
gradient.cols = c("#00AFBB", "#E7B800", "#FC4E07"),
repel = TRUE)
Sama seperti Row Component, kita dapat mengidentifikasi kesamaan atau
ketidaksamaan dalam kategori row dengan memperhatikan jarak antar titik
koordinat baris.
Sehingga, berdasarkan plot titik koordinat baris insight yang didapatkan adalah:
# Contributions of columns to dimension 1
fviz_contrib(graduation.ca, choice = "col", axes = 1)# Contributions of columns to dimension 2
fviz_contrib(graduation.ca, choice = "col", axes = 2)Insight:
fviz_ca_biplot(graduation.ca, repel = TRUE, arrows = c(TRUE, TRUE))
Cara interpretasi hubungan dari kategori baris dan kategori kolom:
Dengan demikian, berdasarkan profil baris (personality), berikut adalah pemetaan untuk data brand personality: