#kita kenalkan dataset yg akan diolah,lalu munculkan 5 baris pertama saja agar gak panjang.
dataset<-read.csv("df_customer_week_5.csv")
head(dataset, 5)
##   X ID_Pelanggan Jenis_Kelamin Tempat_Tinggal Penghasilan Total_Belanja
## 1 1      ID00031     Laki-laki           Desa     2227350       2563031
## 2 2      ID00079     Perempuan           Kota     9047608       8369550
## 3 3      ID00051     Perempuan           Kota     9735540       8053033
## 4 4      ID00014     Laki-laki           Kota    13510126       9799876
## 5 5      ID00067     Perempuan           Desa     7773498       6982081

Tugas:

#No.1 Siapa pelanggan yang sering membeli dengan total belanja lebih dari 5000000?
#buat data baru yg hanya berisi belanja > 5 juta
belanjaBesar<- subset(dataset, Total_Belanja> 5000000)
#lalu hitung frekuensi tiap id pelanggan
frekP<- table(belanjaBesar$ID_Pelanggan)
frekU<-sort(frekP, decreasing = T)
tabelR<-as.data.frame(frekU)
colnames(tabelR)<-c("ID_Pelanggan","Frekuensi_Belanja")
head(tabelR, 5)
##   ID_Pelanggan Frekuensi_Belanja
## 1      ID00007                 7
## 2      ID00025                 7
## 3      ID00026                 6
## 4      ID00089                 6
## 5      ID00053                 5
#Hasil akhir menunjukkan secara terurut dari terbesar ke terkecil.
#Pelanggan yang paling sering membeli dengan total belanja >5juta yaitu pelanggan dengan ID00007 sebanyak 7 kali.
#NO.2  Ada berapa banyak perempuan di kota yang berbelanja lebih dari 5x?
#Kelompokkan dulu sesuai kriteria yg diminta
soalB<-subset(dataset, Jenis_Kelamin == "Perempuan" & Tempat_Tinggal == "Kota")
#Hitung/munculkan frekuensi pelanggannya.
soalB1<-table(soalB$ID_Pelanggan)
#Kerucutkan data sesuai kriteria yg diminta
soalB2<-soalB1[soalB1 > 5]
#Cek jumlah pelanggan
length(soalB2)
## [1] 0
#Jawabannya adalah 0, tidak ada.
#No.3 Siapa pelanggan yang paling sering membeli dengan penghasilan lebih dari 5000000?
#Buat data baru sesuai kriteria.
soalC<-subset(dataset,Penghasilan>5000000)
#Hitung Frekuensinya.
soalC1<- table(soalC$ID_Pelanggan)
#Urutkan data.
soalC2<-sort(soalC1, decreasing = T)
#Ubah dalam df agar lebih rapih dan enak dilihat.
soalC3<-as.data.frame(soalC2)
#Menamakan kolom
colnames(soalC3)<-c("ID_Pelanggan","Frekuensi_Belanja")
#munculkan data 3 teratas.
head(soalC3, 3)
##   ID_Pelanggan Frekuensi_Belanja
## 1      ID00007                 9
## 2      ID00025                 7
## 3      ID00093                 7
#Jawabannya adalah pelanggan dengan ID00007 sebanyak 9 kali.
#No.4&5:
#4.Berjenis kelamin apa pelanggan yang tinggal di desa namun memiliki total belanja yg lebih dari 5000000?
#5. Berpenghasilan berapa pelanggan yang tinggal di desa namun memiliki total belanja lebih dari 5000000?
#Filter sesuai kriteria.
soalD<-subset(dataset, Tempat_Tinggal == "Desa" & Total_Belanja > 5000000)
#Filter data agar tidak ada yang ganda(>1)
soalD1<-unique(soalD[, c("Jenis_Kelamin", "Penghasilan")])
#Ubah menjadi df
dfSoalD1<-as.data.frame(soalD1)
dfSoalD1
##     Jenis_Kelamin Penghasilan
## 5       Perempuan     7773498
## 9       Perempuan     6776730
## 43      Perempuan     8108645
## 46      Laki-laki     9032981
## 47      Perempuan     5616450
## 53      Perempuan     4481204
## 56      Perempuan     6128487
## 58      Laki-laki     5947963
## 61      Perempuan     9231091
## 62      Perempuan     5940612
## 65      Perempuan     8032910
## 73      Perempuan     7822419
## 82      Laki-laki     9331982
## 97      Perempuan     7082568
## 106     Laki-laki     9657061
## 119     Perempuan     7651846
## 134     Perempuan     5575699
## 138     Perempuan     8635642
## 139     Laki-laki     5809025
## 145     Perempuan     6005712
## 148     Perempuan     4849165
## 149     Perempuan     4626369
## 161     Perempuan     5455465
## 166     Perempuan     6467267
## 171     Perempuan     3157783
## 176     Perempuan     6093467
## 177     Perempuan     6193172
## 197     Perempuan     9024791
## 202     Perempuan     9310352
## 209     Laki-laki     8141032
## 219     Perempuan     6499451
## 220     Laki-laki    10832415
## 224     Perempuan    11664452
## 229     Perempuan     6455085
## 231     Perempuan     6571179
## 232     Laki-laki     9498495
## 233     Perempuan     5671820
## 248     Perempuan     3726214
## 249     Perempuan     6533837
## 250     Perempuan     6856664
## 254     Perempuan     7212261
## 257     Perempuan     6928182
## 259     Perempuan     3373098
## 265     Perempuan     6940985
## 280     Laki-laki     6915574
## 289     Perempuan     7028460
## 293     Laki-laki     9810087
#Karena menghasilkan banyak data, maka akan kita kerucutkan lagi dalam codeblok terpisah untuk menjawab pertanyaan.
#FIlter jenis kelamin (soal no.4)
soalD2<-table(unique(soalD1)$Jenis_Kelamin)
soalD2
## 
## Laki-laki Perempuan 
##        10        37
#Jawaban no.4, berjenis kelamin laki-laki dan perempuan dengan total jumlah masing-masing 10 dan 37.
#Filter penghasilan(soal no.5)
summary(dfSoalD1$Penghasilan)
##     Min.  1st Qu.   Median     Mean  3rd Qu.     Max. 
##  3157783  5944288  6856664  7031482  8124839 11664452
#Jawabannya adalah berpenghasilan minimal 3.157.783 juta dan maximal 11.664.452 juta.