df_customer <- read.csv("df_customer.csv")
head(df_customer)
## 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
## 6 6 ID00042 Laki-laki Desa 6666740 4782002
nrow(df_customer)
## [1] 300
length(unique(df_customer$ID_Pelanggan))
## [1] 94
sort(table(df_customer$ID_Pelanggan), decreasing = TRUE)[1:3]
##
## ID00007 ID00025 ID00089
## 9 7 7
aggregate(Penghasilan ~ Jenis_Kelamin, data = df_customer, mean)
## Jenis_Kelamin Penghasilan
## 1 Laki-laki 8880902
## 2 Perempuan 8505199
aggregate(Total_Belanja ~ Jenis_Kelamin, data = df_customer, mean)
## Jenis_Kelamin Total_Belanja
## 1 Laki-laki 6034728
## 2 Perempuan 7114786
aggregate(Penghasilan ~ Tempat_Tinggal, data = df_customer, mean)
## Tempat_Tinggal Penghasilan
## 1 Desa 6249122
## 2 Kota 9878685
aggregate(Total_Belanja ~ Tempat_Tinggal, data = df_customer, mean)
## Tempat_Tinggal Total_Belanja
## 1 Desa 5022231
## 2 Kota 7520118
df_customer[order(-df_customer$Total_Belanja), c("ID_Pelanggan", "Total_Belanja")] |> head(5)
## ID_Pelanggan Total_Belanja
## 76 ID00034 11626302
## 175 ID00011 11527638
## 228 ID00057 11031197
## 287 ID00093 10984825
## 33 ID00007 10846012
table(df_customer$Jenis_Kelamin)
##
## Laki-laki Perempuan
## 121 179
df_customer$Kategori_Penghasilan <- cut(df_customer$Penghasilan,
breaks = c(-Inf, 5000000, 10000000, Inf),
labels = c("Rendah", "Menengah", "Tinggi"))
table(df_customer$Kategori_Penghasilan)
##
## Rendah Menengah Tinggi
## 27 175 98
TUGAS
1.Siapa pelanggan yang paling sering membeli dengan total belanja lebih
dari 5000000?
2.Ada berapa banyak perempuan di kota yang berbelanja lebih dari
5x?
3.Siapa pelanggan yang paling sering membeli dengan penghasilan lebih
dari 5000000?
4.Berjenis kelamin apa pelanggan yang tinggal di desa namun memiliki
total belanja yang lebih dari 5000000?
5.Berpenghasilan berapa pelanggan yang tinggal di desa namun memiliki
total belanja lebih dari 5000000?
NOMOR 1 Siapa pelanggan yang paling sering membeli dengan total belanja lebih dari 5000000?
sort(table(df_customer$ID_Pelanggan))
##
## ID00012 ID00015 ID00018 ID00044 ID00047 ID00056 ID00059 ID00062 ID00068 ID00073
## 1 1 1 1 1 1 1 1 1 1
## ID00078 ID00088 ID00095 ID00001 ID00004 ID00005 ID00010 ID00011 ID00020 ID00021
## 1 1 1 2 2 2 2 2 2 2
## ID00022 ID00029 ID00034 ID00038 ID00043 ID00051 ID00058 ID00061 ID00064 ID00066
## 2 2 2 2 2 2 2 2 2 2
## ID00070 ID00075 ID00092 ID00096 ID00098 ID00099 ID00002 ID00008 ID00013 ID00030
## 2 2 2 2 2 2 3 3 3 3
## ID00033 ID00035 ID00037 ID00039 ID00041 ID00045 ID00048 ID00049 ID00050 ID00052
## 3 3 3 3 3 3 3 3 3 3
## ID00055 ID00060 ID00069 ID00076 ID00077 ID00081 ID00083 ID00086 ID00097 ID00006
## 3 3 3 3 3 3 3 3 3 4
## ID00016 ID00017 ID00027 ID00036 ID00040 ID00046 ID00057 ID00067 ID00071 ID00082
## 4 4 4 4 4 4 4 4 4 4
## ID00085 ID00087 ID00091 ID00094 ID00009 ID00014 ID00023 ID00024 ID00031 ID00042
## 4 4 4 4 5 5 5 5 5 5
## ID00053 ID00054 ID00063 ID00072 ID00074 ID00079 ID00084 ID00090 ID00026 ID00032
## 5 5 5 5 5 5 5 5 6 6
## ID00025 ID00089 ID00093 ID00007
## 7 7 7 9
sort((table(df_customer$Total_Belanja>5000000)), decreasing = TRUE)
##
## TRUE FALSE
## 238 62
NOMOR 2 Ada berapa banyak perempuan di kota yang berbelanja lebih dari 5x?
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
q2 <- subset(df_customer, Jenis_Kelamin == "Perempuan" & Tempat_Tinggal == "Kota")
q2_count <- table(q2$ID_Pelanggan)
q2_count <- data.frame(q2_count)
q2_count
## Var1 Freq
## 1 ID00001 1
## 2 ID00002 3
## 3 ID00004 2
## 4 ID00005 1
## 5 ID00006 2
## 6 ID00007 5
## 7 ID00009 1
## 8 ID00010 1
## 9 ID00011 1
## 10 ID00012 1
## 11 ID00013 1
## 12 ID00016 1
## 13 ID00017 1
## 14 ID00021 1
## 15 ID00023 3
## 16 ID00024 3
## 17 ID00025 4
## 18 ID00026 4
## 19 ID00030 2
## 20 ID00031 2
## 21 ID00032 3
## 22 ID00034 1
## 23 ID00035 1
## 24 ID00036 3
## 25 ID00037 3
## 26 ID00038 1
## 27 ID00039 2
## 28 ID00040 2
## 29 ID00041 1
## 30 ID00042 2
## 31 ID00043 1
## 32 ID00044 1
## 33 ID00045 3
## 34 ID00046 3
## 35 ID00048 1
## 36 ID00050 2
## 37 ID00051 2
## 38 ID00053 4
## 39 ID00054 2
## 40 ID00056 1
## 41 ID00057 2
## 42 ID00058 1
## 43 ID00060 2
## 44 ID00063 3
## 45 ID00066 1
## 46 ID00067 1
## 47 ID00069 2
## 48 ID00070 1
## 49 ID00071 2
## 50 ID00072 1
## 51 ID00074 1
## 52 ID00075 1
## 53 ID00076 2
## 54 ID00079 2
## 55 ID00082 1
## 56 ID00083 1
## 57 ID00084 1
## 58 ID00085 3
## 59 ID00086 1
## 60 ID00087 3
## 61 ID00089 1
## 62 ID00090 2
## 63 ID00091 2
## 64 ID00092 1
## 65 ID00093 1
## 66 ID00096 1
## 67 ID00099 1
q22 <- df_customer %>%
filter(Jenis_Kelamin == "Perempuan", Tempat_Tinggal == "Kota") %>%
count(ID_Pelanggan) %>%
filter(n > 5) %>%
summarise(jumlah = n())
q22
## jumlah
## 1 0
NOMOR 3 Siapa pelanggan yang paling sering membeli dengan penghasilan lebih dari 5000000?
sort(table(df_customer$ID_Pelanggan))
##
## ID00012 ID00015 ID00018 ID00044 ID00047 ID00056 ID00059 ID00062 ID00068 ID00073
## 1 1 1 1 1 1 1 1 1 1
## ID00078 ID00088 ID00095 ID00001 ID00004 ID00005 ID00010 ID00011 ID00020 ID00021
## 1 1 1 2 2 2 2 2 2 2
## ID00022 ID00029 ID00034 ID00038 ID00043 ID00051 ID00058 ID00061 ID00064 ID00066
## 2 2 2 2 2 2 2 2 2 2
## ID00070 ID00075 ID00092 ID00096 ID00098 ID00099 ID00002 ID00008 ID00013 ID00030
## 2 2 2 2 2 2 3 3 3 3
## ID00033 ID00035 ID00037 ID00039 ID00041 ID00045 ID00048 ID00049 ID00050 ID00052
## 3 3 3 3 3 3 3 3 3 3
## ID00055 ID00060 ID00069 ID00076 ID00077 ID00081 ID00083 ID00086 ID00097 ID00006
## 3 3 3 3 3 3 3 3 3 4
## ID00016 ID00017 ID00027 ID00036 ID00040 ID00046 ID00057 ID00067 ID00071 ID00082
## 4 4 4 4 4 4 4 4 4 4
## ID00085 ID00087 ID00091 ID00094 ID00009 ID00014 ID00023 ID00024 ID00031 ID00042
## 4 4 4 4 5 5 5 5 5 5
## ID00053 ID00054 ID00063 ID00072 ID00074 ID00079 ID00084 ID00090 ID00026 ID00032
## 5 5 5 5 5 5 5 5 6 6
## ID00025 ID00089 ID00093 ID00007
## 7 7 7 9
sort((table(df_customer$Penghasilan>5000000)), decreasing = TRUE)
##
## TRUE FALSE
## 273 27
NOMOR 4 Berjenis kelamin apa pelanggan yang tinggal di desa namun memiliki total belanja yang lebih dari 5000000?
q4 <- subset(df_customer, Tempat_Tinggal == "Desa" & Total_Belanja > 5000000)
table(q4$Jenis_Kelamin)
##
## Laki-laki Perempuan
## 10 37
NOMOR 5 Berpenghasilan berapa pelanggan yang tinggal di desa namun memiliki total belanja lebih dari 5000000?
q5 <- subset(df_customer, Tempat_Tinggal == "Desa" & Total_Belanja > 5000000)
head(q5[, c("ID_Pelanggan", "Penghasilan")], 5)
## ID_Pelanggan Penghasilan
## 5 ID00067 7773498
## 9 ID00014 6776730
## 43 ID00027 8108645
## 46 ID00089 9032981
## 47 ID00034 5616450
Frekuensi
freq <- as.data.frame(sort(table(df_customer$ID_Pelanggan)))
freq
## Var1 Freq
## 1 ID00012 1
## 2 ID00015 1
## 3 ID00018 1
## 4 ID00044 1
## 5 ID00047 1
## 6 ID00056 1
## 7 ID00059 1
## 8 ID00062 1
## 9 ID00068 1
## 10 ID00073 1
## 11 ID00078 1
## 12 ID00088 1
## 13 ID00095 1
## 14 ID00001 2
## 15 ID00004 2
## 16 ID00005 2
## 17 ID00010 2
## 18 ID00011 2
## 19 ID00020 2
## 20 ID00021 2
## 21 ID00022 2
## 22 ID00029 2
## 23 ID00034 2
## 24 ID00038 2
## 25 ID00043 2
## 26 ID00051 2
## 27 ID00058 2
## 28 ID00061 2
## 29 ID00064 2
## 30 ID00066 2
## 31 ID00070 2
## 32 ID00075 2
## 33 ID00092 2
## 34 ID00096 2
## 35 ID00098 2
## 36 ID00099 2
## 37 ID00002 3
## 38 ID00008 3
## 39 ID00013 3
## 40 ID00030 3
## 41 ID00033 3
## 42 ID00035 3
## 43 ID00037 3
## 44 ID00039 3
## 45 ID00041 3
## 46 ID00045 3
## 47 ID00048 3
## 48 ID00049 3
## 49 ID00050 3
## 50 ID00052 3
## 51 ID00055 3
## 52 ID00060 3
## 53 ID00069 3
## 54 ID00076 3
## 55 ID00077 3
## 56 ID00081 3
## 57 ID00083 3
## 58 ID00086 3
## 59 ID00097 3
## 60 ID00006 4
## 61 ID00016 4
## 62 ID00017 4
## 63 ID00027 4
## 64 ID00036 4
## 65 ID00040 4
## 66 ID00046 4
## 67 ID00057 4
## 68 ID00067 4
## 69 ID00071 4
## 70 ID00082 4
## 71 ID00085 4
## 72 ID00087 4
## 73 ID00091 4
## 74 ID00094 4
## 75 ID00009 5
## 76 ID00014 5
## 77 ID00023 5
## 78 ID00024 5
## 79 ID00031 5
## 80 ID00042 5
## 81 ID00053 5
## 82 ID00054 5
## 83 ID00063 5
## 84 ID00072 5
## 85 ID00074 5
## 86 ID00079 5
## 87 ID00084 5
## 88 ID00090 5
## 89 ID00026 6
## 90 ID00032 6
## 91 ID00025 7
## 92 ID00089 7
## 93 ID00093 7
## 94 ID00007 9