R Markdown

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