#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.