# Tải dữ liệu
library("csv")
## Warning: package 'csv' was built under R version 4.4.3
data <- read.csv("C:/Users/Admin/Downloads/Supermarket Transactions.csv", header = T)
head(data)
## X PurchaseDate CustomerID Gender MaritalStatus Homeowner Children
## 1 1 2007-12-18 7223 F S Y 2
## 2 2 2007-12-20 7841 M M Y 5
## 3 3 2007-12-21 8374 F M N 2
## 4 4 2007-12-21 9619 M M Y 3
## 5 5 2007-12-22 1900 F S Y 3
## 6 6 2007-12-22 6696 F M Y 3
## AnnualIncome City StateorProvince Country ProductFamily
## 1 $30K - $50K Los Angeles CA USA Food
## 2 $70K - $90K Los Angeles CA USA Food
## 3 $50K - $70K Bremerton WA USA Food
## 4 $30K - $50K Portland OR USA Food
## 5 $130K - $150K Beverly Hills CA USA Drink
## 6 $10K - $30K Beverly Hills CA USA Food
## ProductDepartment ProductCategory UnitsSold Revenue
## 1 Snack Foods Snack Foods 5 27.38
## 2 Produce Vegetables 5 14.90
## 3 Snack Foods Snack Foods 3 5.52
## 4 Snacks Candy 4 4.44
## 5 Beverages Carbonated Beverages 4 14.00
## 6 Deli Side Dishes 3 4.37
dataDT <- c("Gender", "MaritalStatus", "Homeowner", "AnnualIncome",
"City", "StateorProvince", "Country",
"ProductFamily", "ProductDepartment", "ProductCategory")
dataDT <- data[,dataDT]
Lập bảng tần số và tần suất
#Bảng tần số
table(dataDT$Gender)
##
## F M
## 7170 6889
#Bảng tần suất
table(dataDT$Gender)/sum(table(dataDT$Gender))
##
## F M
## 0.5099936 0.4900064
Nhận xét:
Vậy trong bộ dữ liệu có 7170 là nữ và 6889 là nam.
Có nghĩa là bộ dữ liệu có 50.9993598% là nữ và 49.0006402% là nam.
Vẽ đồ thị
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.4.3
library(dplyr)
## Warning: package 'dplyr' was built under R version 4.4.3
##
## 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
# Tạo bảng tần số
freq1 <- table(dataDT$Gender)
# Chuyển thành data frame
Gender <- as.data.frame(freq1)
colnames(Gender) <- c("Gender", "Count")
# Vẽ biểu đồ cột
ggplot(Gender, aes(x = Gender, y = Count)) +
geom_col(fill = "#F08080", color = "black") +
geom_text(aes(label = Count), vjust = -0.5, color = "black")
# Bảng tần số
freq <- table(dataDT$Gender)
# Vẽ biểu đồ tròn
pie(freq,
labels = paste0(names(freq), " (", round(100 * freq / sum(freq), 1), "%)"),
col = c("#89CFF0", "#F4A460"), # màu tùy chọn
main = "Gender")
Biến MaritalStatus
Lập bảng tần số và tần suất
#Bảng tần số
table(dataDT$MaritalStatus)
##
## M S
## 6866 7193
#Bảng tần suất
table(dataDT$MaritalStatus)/sum(table(dataDT$MaritalStatus))
##
## M S
## 0.4883704 0.5116296
Nhận xét:
Vậy trong bộ dữ liệu có 6866 là người đã có gia đình và 7193 là người chưa có gia đình.
Có nghĩa là bộ dữ liệu có 48.8370439% là người đã có gia đình và 51.1629561% là là người chưa có gia đình.
Vẽ đồ thị
# Tạo bảng tần số
freq2 <- table(dataDT$MaritalStatus)
# Chuyển thành data frame
MaritalStatus <- as.data.frame(freq2)
colnames(MaritalStatus) <- c("MaritalStatus", "Count")
# Vẽ biểu đồ cột
ggplot(MaritalStatus, aes(x = MaritalStatus, y = Count)) +
geom_col(fill = "#F08080", color = "black") +
geom_text(aes(label = Count), vjust = -0.5, color = "black")
# Bảng tần số
freq2 <- table(dataDT$MaritalStatus)
# Vẽ biểu đồ tròn
pie(freq2,
labels = paste0(names(freq2), " (", round(100 * freq2 / sum(freq2), 1), "%)"),
col = c("#89CFF0", "#F4A460"), # màu tùy chọn
main = "MaritalStatus")
Biến Homeowner
Lập bảng tần số và tần suất
#Bảng tần số
table(dataDT$Homeowner)
##
## N Y
## 5615 8444
#Bảng tần suất
table(dataDT$Homeowner)/sum(table(dataDT$Homeowner))
##
## N Y
## 0.3993883 0.6006117
Nhận xét:
Vậy trong bộ dữ liệu có 5615 là người chưa có nhà và 8444 là người đã có nhà.
Có nghĩa là bộ dữ liệu có 39.9388292% là người chưa có nhà và 60.0611708% là là người đã có nhà.
Vẽ đồ thị
# Tạo bảng tần số
freq3 <- table(dataDT$Homeowner)
# Chuyển thành data frame
homeowner <- as.data.frame(freq3)
colnames(homeowner) <- c("Homeowner", "Count")
# Vẽ biểu đồ cột
ggplot(homeowner, aes(x = Homeowner, y = Count)) +
geom_col(fill = "#F08080", color = "black") +
geom_text(aes(label = Count), vjust = -0.5, color = "black")
# Bảng tần số
freq3 <- table(dataDT$Homeowner)
# Vẽ biểu đồ tròn
pie(freq3,
labels = paste0(names(freq3), " (", round(100 * freq3 / sum(freq3), 1), "%)"),
col = c("#89CFF0", "#F4A460"), # màu tùy chọn
main = "Homeowner")
Biến AnnualIncome
Lập bảng tần số và tần suất
#Bảng tần số
table(dataDT$AnnualIncome)
##
## $10K - $30K $110K - $130K $130K - $150K $150K + $30K - $50K
## 3090 643 760 273 4601
## $50K - $70K $70K - $90K $90K - $110K
## 2370 1709 613
#Bảng tần suất
table(dataDT$AnnualIncome)/sum(table(dataDT$AnnualIncome))
##
## $10K - $30K $110K - $130K $130K - $150K $150K + $30K - $50K
## 0.21978804 0.04573583 0.05405790 0.01941817 0.32726367
## $50K - $70K $70K - $90K $90K - $110K
## 0.16857529 0.12155914 0.04360196
Vẽ đồ thị
# Tạo bảng tần số
freq4 <- table(dataDT$AnnualIncome)
# Chuyển thành data frame
AnnualIncome <- as.data.frame(freq4)
colnames(AnnualIncome) <- c("AnnualIncome", "Count")
# Vẽ biểu đồ cột
ggplot(AnnualIncome, aes(x = AnnualIncome, y = Count)) +
geom_col(fill = "#F08080", color = "black") +
geom_text(aes(label = Count), vjust = -0.5, color = "black")