library(readxl)

usernames <- read_excel("Dataset AHP (Terbaru).xlsx",sheet = "Data Valid")$username
character <- read_excel("Dataset AHP (Terbaru).xlsx",sheet = "Part 1")
ahp <- read_excel("Dataset AHP (Terbaru).xlsx",sheet = "Data AHP")
preferences <- read_excel("Dataset AHP (Terbaru).xlsx",sheet = "Data Valid")

combine_df <- merge(character,ahp,by="username")

library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
combine_df <- combine_df %>%
  filter(username %in% usernames)

final_df <- merge(combine_df,preferences,by="username")

final_df <- final_df[,-c(2:6,47:51)]
final_df <- final_df[,c(1,90:94,2:89,95:132)]

final_df[7:46] <- lapply(final_df[7:46], function(x) {
  x <- gsub("\\(.*?\\)", "", x)
  trimws(x)
})

emotion <- unique(as.vector(as.matrix(final_df[7:46])))
writexl::write_xlsx(data.frame(emotion),"emotion.xlsx")

writexl::write_xlsx(final_df[,c(1,7:46)],"username with emotion.xlsx")

# ============================
# 1. Definisikan kategori emosi
# ============================

sanguinis <- c(
  "Animated","Playful","Sociable","Persuasive","Spirited","Refreshing","Popular",
  "Friendly","Funny","Delightful","Cheerful","Inspiring","Demonstrative",
  "Mixes easily","Talker","Lively","Cute","Promoter","Optimistic","Bouncy",
  "Brassy","Show-offs","Loud","Talkative","Tactless","Disorganized",
  "Unpredictable","Interrupts","Messy","Scatterbrained","Wants credit",
  "Naive","Haphazard","Indifferent","Changeable"
)

koleris <- c(
  "Adventurous","Persuasive","Strong-willed","Competitive","Resourceful",
  "Self-reliant","Independent","Decisive","Mover","Leader","Productive",
  "Bold","Outspoken","Confident","Forceful","Daring","Tenacious","Chief",
  "Sure","Bossy","Headstrong","Domineering","Intolerant","Impatient",
  "Argumentative","Stubborn","Short-tempered","Rash","Unsympathetic",
  "Workaholic","Wants credit","Lord over","Proud"
)

plegmatis <- c(
  "Adaptable","Peaceful","Submissive","Controlled","Diplomatic","Consistent",
  "Reserved","Respectful","Sensitive","Patient","Mediator","Tolerant",
  "Listener","Contented","Balanced","Pleasant","Behaved","Dry humor",
  "Inoffensive","Nonchalant","Indecisive","Hesitant","Timid","Shy","Slow",
  "Lazy","Plain","Indifferent","Reluctant","Doubtful","Withdrawn"
)

melankolis <- c(
  "Analytical","Persistent","Self-sacrificing","Considerate","Orderly",
  "Detailed","Planner","Sensitive","Respectful","Thoughtful","Faithful",
  "Chartmaker","Perfectionist","Deep","Idealistic","Musical","Cultured",
  "Scheduled","Critical","Moody","Introvert","Unenthusiastic","Pessimistic",
  "Depressed","Skeptical","Too sensitive","Fussy","Forgetful","Insecure",
  "Fearful","Worrier","Unforgiving","Withdrawn","Reticent","Repetitious",
  "Resistant","Negative attitude","Crafty"
)

# ==============================================
# 2. Fungsi untuk mengklasifikasikan 1 emosi
# ==============================================

classify_emotion <- function(x) {
  if (x %in% sanguinis)   return("Sanguinis")
  if (x %in% koleris)     return("Koleris")
  if (x %in% plegmatis)   return("Plegmatis")
  if (x %in% melankolis)  return("Melankolis")
  return(NA)
}

# ==============================================
# 3. Terapkan ke 40 kolom dan hitung tipe dominan
# ==============================================

final_df$dominant_type <- apply(final_df[,7:46], 1, function(row_values) {
  
  categories <- sapply(row_values, classify_emotion)
  
  # hitung frekuensi
  freq <- table(categories)
  
  # ambil kategori terbanyak
  names(freq)[which.max(freq)]
})

writexl::write_xlsx(subset(final_df, dominant_type == "Sanguinis"),"Data Sangunis.xlsx")
writexl::write_xlsx(subset(final_df, dominant_type == "Koleris"),"Data Koleris.xlsx")
writexl::write_xlsx(subset(final_df, dominant_type == "Melankolis"),"Data Melankolis.xlsx")
writexl::write_xlsx(subset(final_df, dominant_type == "Plegmatis"),"Data Plegmatis.xlsx")

library(janitor)
## Warning: package 'janitor' was built under R version 4.5.2
## 
## Attaching package: 'janitor'
## The following objects are masked from 'package:stats':
## 
##     chisq.test, fisher.test
final_df %>%
  tabyl(dominant_type) %>%
  adorn_pct_formatting(digits = 2)
##  dominant_type  n percent
##        Koleris 24  43.64%
##     Melankolis  5   9.09%
##      Plegmatis 12  21.82%
##      Sanguinis 14  25.45%
library(janitor)

lapply(final_df[,c(2:6,95:132)], 
       function(x) tabyl(x) %>% adorn_pct_formatting(digits = 1))
## $`Durasi Penggunaan X`
##                    x  n percent
##           1 -3 tahun 20   36.4%
##  Kurang dari 1 tahun 35   63.6%
## 
## $Usia
##              x  n percent
##  13 - 28 tahun 35   63.6%
##  29 - 44 tahun 13   23.6%
##  45 - 60 tahun  7   12.7%
## 
## $`Jenis Kelamin`
##                        x  n percent
##              Laki - laki 22   40.0%
##                Perempuan 12   21.8%
##  Tidak Berkenan Menjawab 21   38.2%
## 
## $`Keputusan Investasi Berdasarkan X`
##   x  n percent
##  Ya 55  100.0%
## 
## $`Keuntungan dalam Investasi`
##      x  n percent
##  Tidak 17   30.9%
##     Ya 38   69.1%
## 
## $`Investasi apa yang anda sukai? >> Perhiasan emas atau logam mulia`
##                         x  n percent
##  Suka Tapi Belum Memiliki  3    5.5%
##   Suka dan Sudah Memiliki 29   52.7%
##                Tidak Suka 23   41.8%
## 
## $`Investasi apa yang anda sukai? >> Obligasi pemerintah`
##                         x  n percent
##  Suka Tapi Belum Memiliki 20   36.4%
##   Suka dan Sudah Memiliki 26   47.3%
##                Tidak Suka  9   16.4%
## 
## $`Investasi apa yang anda sukai? >> Saham perusahaan indonesia`
##                         x  n percent
##  Suka Tapi Belum Memiliki 27   49.1%
##   Suka dan Sudah Memiliki 21   38.2%
##                Tidak Suka  7   12.7%
## 
## $`Investasi apa yang anda sukai? >> Saham perusahaan asing`
##                         x  n percent valid_percent
##  Suka Tapi Belum Memiliki 18   32.7%         33.3%
##   Suka dan Sudah Memiliki 28   50.9%         51.9%
##                Tidak Suka  8   14.5%         14.8%
##                      <NA>  1    1.8%             -
## 
## $`Investasi apa yang anda sukai? >> Properti seperti rumah atau tanah`
##                         x  n percent
##  Suka Tapi Belum Memiliki 23   41.8%
##   Suka dan Sudah Memiliki 29   52.7%
##                Tidak Suka  3    5.5%
## 
## $`Investasi apa yang anda sukai? >> Mata uang kripto seperti Bitcoin atau Etherum`
##                         x  n percent
##  Suka Tapi Belum Memiliki 16   29.1%
##   Suka dan Sudah Memiliki 16   29.1%
##                Tidak Suka 23   41.8%
## 
## $`Investasi apa yang anda sukai? >> Obligasi perusahaan swasta`
##                         x  n percent
##  Suka Tapi Belum Memiliki 26   47.3%
##   Suka dan Sudah Memiliki 24   43.6%
##                Tidak Suka  5    9.1%
## 
## $`Investasi apa yang anda sukai? >> Reksadana`
##                         x  n percent
##  Suka Tapi Belum Memiliki 30   54.5%
##   Suka dan Sudah Memiliki  6   10.9%
##                Tidak Suka 19   34.5%
## 
## $`Apa yang paling Anda takuti dari investasi yang Anda miliki? >> Ketika untung yang saya dapatkan tidak sesuai ekspektasi`
##                    x  n percent
##               Netral  9   16.4%
##        Sangat Setuju 33   60.0%
##  Sangat Tidak Setuju  8   14.5%
##               Setuju  4    7.3%
##         Tidak Setuju  1    1.8%
## 
## $`Apa yang paling Anda takuti dari investasi yang Anda miliki? >> Ketika investasi saya lebih banyak ruginya dibandingkan dengan untungnya`
##                    x  n percent
##               Netral 14   25.5%
##        Sangat Setuju 10   18.2%
##  Sangat Tidak Setuju  6   10.9%
##               Setuju 17   30.9%
##         Tidak Setuju  8   14.5%
## 
## $`Apa yang paling Anda takuti dari investasi yang Anda miliki? >> Ketika saya harus mengambil risiko`
##                    x  n percent
##               Netral  7   12.7%
##        Sangat Setuju  4    7.3%
##  Sangat Tidak Setuju  7   12.7%
##               Setuju 25   45.5%
##         Tidak Setuju 12   21.8%
## 
## $`Apa yang paling Anda takuti dari investasi yang Anda miliki? >> Ketika terjadi banyak fluktuasi harga dari sebuah investasi`
##                    x  n percent
##               Netral 23   41.8%
##        Sangat Setuju 13   23.6%
##  Sangat Tidak Setuju  3    5.5%
##               Setuju  3    5.5%
##         Tidak Setuju 13   23.6%
## 
## $`Apa yang paling Anda takuti dari investasi yang Anda miliki? >> Ketika saya membuat pilihan yang buruk dan kehilangan seluruh uang saya`
##                    x  n percent
##               Netral 11   20.0%
##        Sangat Setuju  7   12.7%
##  Sangat Tidak Setuju 11   20.0%
##               Setuju 19   34.5%
##         Tidak Setuju  7   12.7%
## 
## $`Apa yang paling Anda takuti dari investasi yang Anda miliki? >> Ketika saya menjadi korban investasi bodong`
##                    x  n percent
##               Netral 13   23.6%
##        Sangat Setuju  5    9.1%
##  Sangat Tidak Setuju 10   18.2%
##               Setuju  6   10.9%
##         Tidak Setuju 21   38.2%
## 
## $`Jika Anda memiliki uang dingin untuk berinvestasi maka ... >> Saya lebih memilih berinvestasi emas dibandingkan saham`
##                    x  n percent
##               Netral  8   14.5%
##        Sangat Setuju 30   54.5%
##  Sangat Tidak Setuju  4    7.3%
##               Setuju  4    7.3%
##         Tidak Setuju  9   16.4%
## 
## $`Jika Anda memiliki uang dingin untuk berinvestasi maka ... >> Saya lebih memilih berinvestasi pada emas dibandingkan obligasi pemerintah`
##                    x  n percent
##               Netral 24   43.6%
##        Sangat Setuju  2    3.6%
##  Sangat Tidak Setuju 10   18.2%
##               Setuju 16   29.1%
##         Tidak Setuju  3    5.5%
## 
## $`Jika Anda memiliki uang dingin untuk berinvestasi maka ... >> Saya lebih memilih berinvestasi pada Bitcoin`
##                    x  n percent
##               Netral  7   12.7%
##        Sangat Setuju  9   16.4%
##  Sangat Tidak Setuju  9   16.4%
##               Setuju 12   21.8%
##         Tidak Setuju 18   32.7%
## 
## $`Jika Anda memiliki uang dingin untuk berinvestasi maka ... >> Saya lebih memilih membeli saham dibandingkan obligasi`
##                    x  n percent
##               Netral 24   43.6%
##        Sangat Setuju 10   18.2%
##  Sangat Tidak Setuju  5    9.1%
##               Setuju  5    9.1%
##         Tidak Setuju 11   20.0%
## 
## $`Jika Anda memiliki uang dingin untuk berinvestasi maka ... >> Saya lebih memilih membeli saham dibandingkan Bitcoin`
##                    x  n percent
##               Netral 26   47.3%
##  Sangat Tidak Setuju  6   10.9%
##               Setuju 11   20.0%
##         Tidak Setuju 12   21.8%
## 
## $`Jika Anda memiliki uang dingin untuk berinvestasi maka ... >> Saya lebih memilih berinvestasi pada obligasi dibandingkan Bitcoin`
##                    x  n percent
##               Netral 27   49.1%
##        Sangat Setuju 14   25.5%
##  Sangat Tidak Setuju  3    5.5%
##               Setuju  2    3.6%
##         Tidak Setuju  9   16.4%
## 
## $`Jika Anda memiliki uang dingin untuk berinvestasi maka ... >> Saya lebih memilih Bitcoin dibandingkan instrumen lainnya`
##                    x  n percent
##               Netral 14   25.5%
##        Sangat Setuju  7   12.7%
##  Sangat Tidak Setuju  4    7.3%
##               Setuju  3    5.5%
##         Tidak Setuju 27   49.1%
## 
## $`Jika Anda memiliki uang dingin untuk berinvestasi maka ... >> Saya menghindari Bitcoin karena risikonya yang sangat besar`
##                    x  n percent
##               Netral  9   16.4%
##        Sangat Setuju  3    5.5%
##  Sangat Tidak Setuju  1    1.8%
##               Setuju  6   10.9%
##         Tidak Setuju 36   65.5%
## 
## $`Apa yang Anda pertimbangkan ketika memilih sebuah investasi? >> Memilih instrumen investasi yang telah saya miliki sebelumnya`
##                    x  n percent
##               Netral 14   25.5%
##        Sangat Setuju 12   21.8%
##  Sangat Tidak Setuju 10   18.2%
##               Setuju 15   27.3%
##         Tidak Setuju  4    7.3%
## 
## $`Apa yang Anda pertimbangkan ketika memilih sebuah investasi? >> Saya suka berinvestasi pada instrumen yang baru`
##                    x  n percent
##               Netral 13   23.6%
##        Sangat Setuju  1    1.8%
##  Sangat Tidak Setuju 21   38.2%
##               Setuju  5    9.1%
##         Tidak Setuju 15   27.3%
## 
## $`Apa yang Anda pertimbangkan ketika memilih sebuah investasi? >> Saya memilih investasi yang aman meskipun untungnya kecil`
##              x  n percent
##         Netral 29   52.7%
##  Sangat Setuju  8   14.5%
##         Setuju 12   21.8%
##   Tidak Setuju  6   10.9%
## 
## $`Apa yang Anda pertimbangkan ketika memilih sebuah investasi? >> Saya memilih investasi yang telah dimiliki oleh orang yang saya kenal`
##                    x  n percent
##               Netral 10   18.2%
##        Sangat Setuju 18   32.7%
##  Sangat Tidak Setuju  2    3.6%
##               Setuju  8   14.5%
##         Tidak Setuju 17   30.9%
## 
## $`Apa yang Anda pertimbangkan ketika memilih sebuah investasi? >> Saya memilih instrumen investasi yang dimiliki/dipopulerkan oleh idola atau influencer yang saya ikuti`
##                    x  n percent
##               Netral  9   16.4%
##        Sangat Setuju  4    7.3%
##  Sangat Tidak Setuju  2    3.6%
##               Setuju 31   56.4%
##         Tidak Setuju  9   16.4%
## 
## $`Apa yang Anda pertimbangkan ketika memilih sebuah investasi? >> Saya memilih instrumen yang memberikan laba terbesar`
##                    x  n percent
##               Netral  9   16.4%
##        Sangat Setuju  3    5.5%
##  Sangat Tidak Setuju 17   30.9%
##               Setuju 10   18.2%
##         Tidak Setuju 16   29.1%
## 
## $`Apa yang Anda pertimbangkan ketika memilih sebuah investasi? >> Saya memilih instrumen yang disarankan oleh penasihat keuangan saya`
##                    x  n percent
##               Netral  8   14.5%
##        Sangat Setuju  7   12.7%
##  Sangat Tidak Setuju  2    3.6%
##               Setuju 23   41.8%
##         Tidak Setuju 15   27.3%
## 
## $`Apa yang Anda pertimbangkan ketika memilih sebuah investasi? >> Saya memilih instrumen yang pertumbuhannya bagus dari waktu ke waktu`
##                    x  n percent
##               Netral 14   25.5%
##        Sangat Setuju  5    9.1%
##  Sangat Tidak Setuju  4    7.3%
##               Setuju 15   27.3%
##         Tidak Setuju 17   30.9%
## 
## $`Apa yang Anda pertimbangkan ketika memilih sebuah investasi? >> Saya memilih instrumen yang mudah diperjualbelikan (likuid)`
##                    x  n percent
##               Netral 33   60.0%
##        Sangat Setuju  3    5.5%
##  Sangat Tidak Setuju  8   14.5%
##               Setuju  9   16.4%
##         Tidak Setuju  2    3.6%
## 
## $`Apa yang Anda pertimbangkan ketika memilih sebuah investasi? >> Saya memilih instrumen investasi berdasarkan perasaan/feeling`
##                    x  n percent
##               Netral  9   16.4%
##        Sangat Setuju 15   27.3%
##  Sangat Tidak Setuju 12   21.8%
##               Setuju  7   12.7%
##         Tidak Setuju 12   21.8%
## 
## $`Ketika saya telah memiliki investasi maka ... >> Saya berinvestasi pada sebuah instrumen dan menahannya dalam jangka panjang (di atas 5 tahun)`
##                    x  n percent
##               Netral  8   14.5%
##        Sangat Setuju 10   18.2%
##  Sangat Tidak Setuju 17   30.9%
##               Setuju  8   14.5%
##         Tidak Setuju 12   21.8%
## 
## $`Ketika saya telah memiliki investasi maka ... >> Saya membeli dan menjual instrumen yang saya miliki kurang dari 6 bulan`
##                    x  n percent
##               Netral 25   45.5%
##        Sangat Setuju 18   32.7%
##  Sangat Tidak Setuju  5    9.1%
##               Setuju  2    3.6%
##         Tidak Setuju  5    9.1%
## 
## $`Ketika saya telah memiliki investasi maka ... >> Saya berinvestasi pada sebuah instrumen dan tetap menyimpannya sampai saya membutuhkan dana untuk membeli instrumen lainnya`
##                    x  n percent
##               Netral 19   34.5%
##        Sangat Setuju  4    7.3%
##  Sangat Tidak Setuju 13   23.6%
##               Setuju 10   18.2%
##         Tidak Setuju  9   16.4%
## 
## $`Ketika saya telah memiliki investasi maka ... >> Saya selalu mengecek dan mengevalusasi secara berkala`
##                    x  n percent
##               Netral 12   21.8%
##  Sangat Tidak Setuju 19   34.5%
##               Setuju 14   25.5%
##         Tidak Setuju 10   18.2%
## 
## $`Ketika saya telah memiliki investasi maka ... >> Saya menahan investasi yang telah saya miliki hingga menghasilkan untung lalu menjualnya`
##                    x  n percent
##               Netral 14   25.5%
##        Sangat Setuju  3    5.5%
##  Sangat Tidak Setuju  8   14.5%
##               Setuju 13   23.6%
##         Tidak Setuju 17   30.9%
## 
## $`Ketika saya telah memiliki investasi maka ... >> Saya menyimpan investasi saya dan menjualnya ketika keadaan darurat`
##                    x  n percent
##               Netral 29   52.7%
##        Sangat Setuju  6   10.9%
##  Sangat Tidak Setuju  8   14.5%
##               Setuju  8   14.5%
##         Tidak Setuju  4    7.3%