Đọc dữ liệu

d<-read.csv(file.choose(), header=T)

Chọn các biến định tính

tbdt <- c("Gender", "MaritalStatus", "Homeowner",
          "City", "StateorProvince", "Country",
          "ProductFamily", "ProductDepartment", "ProductCategory")
dc <- d[, tbdt]
head(dc)
##   Gender MaritalStatus Homeowner          City StateorProvince Country
## 1      F             S         Y   Los Angeles              CA     USA
## 2      M             M         Y   Los Angeles              CA     USA
## 3      F             M         N     Bremerton              WA     USA
## 4      M             M         Y      Portland              OR     USA
## 5      F             S         Y Beverly Hills              CA     USA
## 6      F             M         Y Beverly Hills              CA     USA
##   ProductFamily ProductDepartment      ProductCategory
## 1          Food       Snack Foods          Snack Foods
## 2          Food           Produce           Vegetables
## 3          Food       Snack Foods          Snack Foods
## 4          Food            Snacks                Candy
## 5         Drink         Beverages Carbonated Beverages
## 6          Food              Deli          Side Dishes
dq <-table(d$Country)/sum(nrow(d))
dq
## 
##     Canada     Mexico        USA 
## 0.05754321 0.26232307 0.68013372

Lập bảng tần số

tso <-table(dc$Country)
tso
## 
## Canada Mexico    USA 
##    809   3688   9562

vậy bộ dữ liệu này có 809 người Canada và 3688 người Mexico và 9562người USA .

Lập bảng tần suất

tsuat <-table(dc$Country)/sum(nrow(d))*100
tsuat
## 
##    Canada    Mexico       USA 
##  5.754321 26.232307 68.013372

vậy bộ dữ liệu này có 5.7543211, 26.2323067, 68.0133722% là Canada và NA, NA, NA% là Mexico và NA, NA, NA% là USA

Dữ liệu cho thấy sự phân bố không đồng đều giữa các quốc gia, với Hoa Kỳ (USA) chiếm tỷ lệ áp đảo (68.01%, 9.562 lần xuất hiện), tiếp theo là Mexico (26.23%, 3.688 lần) và Canada (5.75%, 809 lần). Điều này cho thấy tập dữ liệu chủ yếu tập trung vào thị trường Mỹ, có thể do dữ liệu được thu thập từ nguồn ưu tiên các giao dịch hoặc sự kiện tại Hoa Kỳ.

library(ggplot2)
ggplot(dc, aes(x = Country)) +
  geom_bar(fill = "green", color = "red") +
  labs(x = "Quốc gia", y = "Tần số", title = "Biểu đồ tần số khách hàng ở các quốc gia") +
  theme(axis.text.x = element_text(angle = 45, hjust = 1))

library(ggplot2)

# Bước 1: Tạo bảng tần số theo quốc gia
country_freq <- as.data.frame(table(dc$Country))
names(country_freq) <- c("Country", "Frequency")

# Bước 2: Vẽ biểu đồ tròn
ggplot(country_freq, aes(x = "", y = Frequency, fill = Country)) +
  geom_col(width = 1, color = "red") +
  coord_polar(theta = "y") +
  labs(title = "Biểu đồ tròn: Tần số khách hàng theo quốc gia") +
  theme_void() +
  geom_text(aes(label = Frequency), 
            position = position_stack(vjust = 0.5),
            color = "white", size = 4)

tsuat_df <- as.data.frame(tsuat)
names(tsuat_df) <- c("Country", "Percent")
library(ggplot2)

ggplot(tsuat_df, aes(x = Country, y = Percent)) +
  geom_col(fill = "green") +
  labs(title = "Biểu đồ cột: Tần suất khách hàng theo quốc gia",
       x = "Quốc gia",
       y = "Tần suất (%)") +
  theme_minimal() +
  theme(axis.text.x = element_text(angle = 45, hjust = 1)) +
  geom_text(aes(label = paste0(Percent, "%")), 
            vjust = -0.5, size = 3.5)

library(ggplot2)

ggplot(tsuat_df, aes(x = "", y = Percent, fill = Country)) +
  geom_col(width = 1, color = "white") +
  coord_polar(theta = "y") +
  labs(title = "Biểu đồ tròn: Tần suất khách hàng theo quốc gia") +
  theme_void() +
  geom_text(aes(label = paste0(Percent, "%")),
            position = position_stack(vjust = 0.5),
            color = "white", size = 4)