PHẦN 1: TÌM HIỂU VÀ CHUẨN BỊ DỮ LIỆU

1.1. Đọc dữ liệu

d <- read.csv("D:/PTDLDT CT2/Supermarket Transactions.csv")

Bộ dữ liệu sử dụng trong nghiên cứu gồm 14.059 quan sát với 16 biến.

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

bdt <- c("Gender", "MaritalStatus", "Homeowner", "AnnualIncome", "City", "StateorProvince", "Country", "ProductFamily", "ProductDepartment", "ProductCategory")
bdt
##  [1] "Gender"            "MaritalStatus"     "Homeowner"        
##  [4] "AnnualIncome"      "City"              "StateorProvince"  
##  [7] "Country"           "ProductFamily"     "ProductDepartment"
## [10] "ProductCategory"

Bộ dữ liệu gồm 10 biến định tính:

  • Gender: Giới tính (F - Nữ, M - Nam).

  • MaritalStatus: Tình trạng hôn nhân (S - Độc thân, M - Đã kết hôn).

  • Homeowner: Có sở hữu nhà hay không (Y - Có, N - Không).

  • AnnualIncome: Thu nhập hàng năm.

  • City, StateorProvince, Country: Thông tin địa lý.

  • ProductFamily, ProductDepartment, ProductCategory: Phân loại sản phẩm.

1.3. Tạo bộ dữ liệu mới chỉ chứa các biến định tính

dt <- d[, bdt]

1.4. Hiển thị cấu trúc của dữ liệu

str(dt)
## 'data.frame':    14059 obs. of  10 variables:
##  $ Gender           : chr  "F" "M" "F" "M" ...
##  $ MaritalStatus    : chr  "S" "M" "M" "M" ...
##  $ Homeowner        : chr  "Y" "Y" "N" "Y" ...
##  $ AnnualIncome     : chr  "$30K - $50K" "$70K - $90K" "$50K - $70K" "$30K - $50K" ...
##  $ City             : chr  "Los Angeles" "Los Angeles" "Bremerton" "Portland" ...
##  $ StateorProvince  : chr  "CA" "CA" "WA" "OR" ...
##  $ Country          : chr  "USA" "USA" "USA" "USA" ...
##  $ ProductFamily    : chr  "Food" "Food" "Food" "Food" ...
##  $ ProductDepartment: chr  "Snack Foods" "Produce" "Snack Foods" "Snacks" ...
##  $ ProductCategory  : chr  "Snack Foods" "Vegetables" "Snack Foods" "Candy" ...

1.5. Hiển thị một vài dòng đầu và cuối của dữ liệu

head(dt)
##   Gender MaritalStatus Homeowner  AnnualIncome          City StateorProvince
## 1      F             S         Y   $30K - $50K   Los Angeles              CA
## 2      M             M         Y   $70K - $90K   Los Angeles              CA
## 3      F             M         N   $50K - $70K     Bremerton              WA
## 4      M             M         Y   $30K - $50K      Portland              OR
## 5      F             S         Y $130K - $150K Beverly Hills              CA
## 6      F             M         Y   $10K - $30K Beverly Hills              CA
##   Country ProductFamily ProductDepartment      ProductCategory
## 1     USA          Food       Snack Foods          Snack Foods
## 2     USA          Food           Produce           Vegetables
## 3     USA          Food       Snack Foods          Snack Foods
## 4     USA          Food            Snacks                Candy
## 5     USA         Drink         Beverages Carbonated Beverages
## 6     USA          Food              Deli          Side Dishes
tail(dt)
##       Gender MaritalStatus Homeowner AnnualIncome        City StateorProvince
## 14054      F             M         N  $10K - $30K      Yakima              WA
## 14055      F             M         Y  $10K - $30K   Bremerton              WA
## 14056      F             M         Y  $10K - $30K Walla Walla              WA
## 14057      M             S         Y  $30K - $50K    Portland              OR
## 14058      F             S         N  $50K - $70K     Spokane              WA
## 14059      M             S         N  $50K - $70K    Portland              OR
##       Country  ProductFamily ProductDepartment      ProductCategory
## 14054     USA Non-Consumable         Household       Paper Products
## 14055     USA           Food      Baking Goods         Baking Goods
## 14056     USA           Food      Frozen Foods           Vegetables
## 14057     USA          Drink         Beverages Pure Juice Beverages
## 14058     USA          Drink             Dairy                Dairy
## 14059     USA Non-Consumable         Household           Electrical

1.6. Kiểm tra giá trị thiếu trong các cột định tính

sum(is.na(dt))
## [1] 0

Bộ dữ liệu không có giá trị thiếu.

1.7. Kiểm tra kiểu dữ liệu của các biến định tính

sapply(dt, class)
##            Gender     MaritalStatus         Homeowner      AnnualIncome 
##       "character"       "character"       "character"       "character" 
##              City   StateorProvince           Country     ProductFamily 
##       "character"       "character"       "character"       "character" 
## ProductDepartment   ProductCategory 
##       "character"       "character"

Tất cả các cột trong dữ liệu đều có kiểu character (chuỗi ký tự).

1.8. Chuyển các biến định tính sang kiểu factor

dt <- as.data.frame(lapply(dt, as.factor))

PHẦN 2: PHÂN TÍCH MÔ TẢ MỘT BIẾN ĐỊNH TÍNH

2.1. Biến Gender

Bảng tần suất

tmp1 <- table(dt$Gender)/sum(nrow(dt))
tmp1
## 
##         F         M 
## 0.5099936 0.4900064

Vậy trong bộ dữ liệu này có 50.9993598 % là nữ và 49.0006402 % là nam.

Bảng tần số

table(dt$Gender)
## 
##    F    M 
## 7170 6889
  • Vậy trong bộ dữ liệu này có 7170 là nữ và 6889 là nam.

  • Số lượng nữ nhiều hơn số lượng nam. Có nhiều hơn 281 người nữ so với nam.

Biểu đồ

pie(tmp1, 
    labels = paste0(names(tmp1), " (", round(tmp1 * 100, 2), "%)"), 
    main = "Tỷ lệ giới tính khách hàng (%)",
    col = c("pink", "lightblue"))

Nhận xét:

  • Có 50.9993598 % là nữ và 49.0006402 % là nam.

  • Giới tính nữ chiếm tỷ lệ cao hơn. Chênh lệch khoảng 2%.

2.2. Biến MaritalStatus

Bảng tần suất

tmp2 <- table(dt$MaritalStatus)/sum(nrow(dt))
tmp2
## 
##         M         S 
## 0.4883704 0.5116296

Bộ dữ liệu có 48.8370439 % là đã kết hôn và 51.1629561 % là độc thân.

Bảng tần số

table(dt$MaritalStatus)
## 
##    M    S 
## 6866 7193
  • Bộ dữ liệu có 6866 người đã kết hôn và 7193 người độc thân.

  • Nhóm người độc thân nhiều hơn nhóm người đã kết hôn khoảng 327 người.

Biểu đồ

pie(tmp2, 
    labels = paste0(names(tmp2), " (", round(tmp2 * 100, 2), "%)"), 
    main = "Tình trạng hôn nhân",
    col = c("pink", "lightblue"))

Nhận xét:

  • Tỷ lệ người độc thân chiếm tỷ trọng nhiều hơn.

  • Người đã kết hôn chiếm 48.8370439 %.

  • Người độc thân chiếm 51.1629561 %.

2.3. Biến Homeowner

Bảng tần suất

tmp3 <- table(dt$Homeowner)/sum(nrow(dt))
tmp3
## 
##         N         Y 
## 0.3993883 0.6006117

Bộ dữ liệu có 39.9388292 % người không có nhà và 60.0611708 % người có nhà.

Bảng tần số

table(dt$Homeowner)
## 
##    N    Y 
## 5615 8444
  • Bộ dữ liệu có 5615 người không có nhà và 8444 người có nhà.

  • Số lượng người có nhà vượt trội hơn người không có nhà với mức chênh lệch lớn. Khoảng 2829 người.

Biểu đồ

pie(tmp3, 
    labels = paste0(names(tmp3), " (", round(tmp3 * 100, 2), "%)"), 
    main = "Tỷ lệ khách hàng theo tình trạng sở hữu nhà",
    col = c("pink", "lightblue"))

Nhận xét:

  • Tỷ lệ người có nhà nhiều hơn.

  • Người có nhà chiếm 60.0611708 %.

  • Người không có nhà chiếm 39.9388292 %.

2.4. Biến AnnualIncome

Bảng tần suất

tmp4 <- prop.table(table(dt$AnnualIncome))
data.frame(
  AnnualIncome = names(tmp4),
  Ty_le = round(as.numeric(tmp4),2)
)
##    AnnualIncome Ty_le
## 1   $10K - $30K  0.22
## 2 $110K - $130K  0.05
## 3 $130K - $150K  0.05
## 4       $150K +  0.02
## 5   $30K - $50K  0.33
## 6   $50K - $70K  0.17
## 7   $70K - $90K  0.12
## 8  $90K - $110K  0.04

Bảng tần số

annual <- as.data.frame(table(dt$AnnualIncome))
colnames(annual) <- c("AnnualIncome", "Số lượng")
annual
##    AnnualIncome Số lượng
## 1   $10K - $30K     3090
## 2 $110K - $130K      643
## 3 $130K - $150K      760
## 4       $150K +      273
## 5   $30K - $50K     4601
## 6   $50K - $70K     2370
## 7   $70K - $90K     1709
## 8  $90K - $110K      613

Biểu đồ

library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.4.3
ggplot(annual, aes(x = AnnualIncome, y = `Số lượng`)) +
  geom_col(fill = "steelblue") +
  labs(title = "Tần số theo thu nhập hàng năm", x = "Thu nhập", y = "Số lượng") +
  theme_minimal()

Nhận xét:

  • Nhóm thu nhập 30K - 50K có số lượng khách hàng đông nhất với 4601 người, chiếm tỷ trọng lớn nhất trong tổng số.

  • Nhóm thu nhập 10K - 30K đứng thứ hai về số lượng với 3090 khách hàng, cũng chiếm tỷ lệ khá cao.

  • Các nhóm thu nhập trung bình như 50K - 70K (2370 người) và 70K - 90K (1709 người) có số lượng khách hàng giảm dần nhưng vẫn tương đối đáng kể.

  • Nhóm thu nhập từ 90K đến 110K và 110K đến 130K có số lượng khách hàng khá thấp, lần lượt là 613 và 643 người.

  • Nhóm thu nhập 130K - 150K có 760 người, vẫn ít hơn so với các nhóm thu nhập trung bình thấp.

  • Nhóm thu nhập cao nhất, từ 150K trở lên, chỉ có 273 khách hàng, chiếm tỷ lệ rất nhỏ trong tổng số.

  • Tóm lại, khách hàng chủ yếu tập trung ở các nhóm thu nhập thấp và trung bình (10K - 70K), còn nhóm thu nhập cao rất ít, thể hiện sự phân hóa rõ rệt về thu nhập trong tập khách hàng.

2.5. Biến City

Bảng tần suất

tmp5 <- prop.table(table(dt$City))
data.frame(
  City = names(tmp5),
  Ty_le = round(as.numeric(tmp5),2)
)
##             City Ty_le
## 1       Acapulco  0.03
## 2     Bellingham  0.01
## 3  Beverly Hills  0.06
## 4      Bremerton  0.06
## 5        Camacho  0.03
## 6    Guadalajara  0.01
## 7        Hidalgo  0.06
## 8    Los Angeles  0.07
## 9         Merida  0.05
## 10   Mexico City  0.01
## 11       Orizaba  0.03
## 12      Portland  0.06
## 13         Salem  0.10
## 14    San Andres  0.04
## 15     San Diego  0.06
## 16 San Francisco  0.01
## 17       Seattle  0.07
## 18       Spokane  0.06
## 19        Tacoma  0.09
## 20     Vancouver  0.05
## 21      Victoria  0.01
## 22   Walla Walla  0.01
## 23        Yakima  0.03

Bảng tần số

city <- as.data.frame(table(dt$City))
colnames(city) <- c("City", "Số lượng")
city
##             City Số lượng
## 1       Acapulco      383
## 2     Bellingham      143
## 3  Beverly Hills      811
## 4      Bremerton      834
## 5        Camacho      452
## 6    Guadalajara       75
## 7        Hidalgo      845
## 8    Los Angeles      926
## 9         Merida      654
## 10   Mexico City      194
## 11       Orizaba      464
## 12      Portland      876
## 13         Salem     1386
## 14    San Andres      621
## 15     San Diego      866
## 16 San Francisco      130
## 17       Seattle      922
## 18       Spokane      875
## 19        Tacoma     1257
## 20     Vancouver      633
## 21      Victoria      176
## 22   Walla Walla      160
## 23        Yakima      376

Biểu đồ

ggplot(city, aes(x = City, y = `Số lượng`)) +
  geom_col(fill = "steelblue") +
  labs(title = "Tần số giao dịch theo thành phố", x = "Thành phố", y = "Số lượng") +
  theme_minimal() +
   theme(axis.text.x = element_text(angle = 45, hjust = 1))

Nhận xét:

  • Thành phố có số lượng khách hàng đông nhất là Salem với 1386 người, cho thấy đây là khu vực có tập trung khách hàng lớn.

  • Tacoma đứng thứ hai với 1257 khách hàng, tiếp theo là Portland (876), Spokane (875) và San Diego (866), cho thấy các thành phố ở mức cao có sự tập trung dân cư hoặc mức độ tiêu dùng cao hơn.

  • Lượng khách hàng phân bố không đồng đều giữa các thành phố, cho thấy sự khác biệt về quy mô dân số, mức sống, hoặc chiến lược kinh doanh theo khu vực.

2.6. Biến StateorProvince

Bảng tần suất

tmp6 <- prop.table(table(dt$StateorProvince))
data.frame(
  StateorProvince = names(tmp6),
  Ty_le = round(as.numeric(tmp6),2)
)
##    StateorProvince Ty_le
## 1               BC  0.06
## 2               CA  0.19
## 3               DF  0.06
## 4         Guerrero  0.03
## 5          Jalisco  0.01
## 6               OR  0.16
## 7         Veracruz  0.03
## 8               WA  0.32
## 9          Yucatan  0.05
## 10       Zacatecas  0.09

Bảng tần số

state <- as.data.frame(table(dt$StateorProvince))
colnames(state) <- c("StateorProvince", "Số lượng")
state
##    StateorProvince Số lượng
## 1               BC      809
## 2               CA     2733
## 3               DF      815
## 4         Guerrero      383
## 5          Jalisco       75
## 6               OR     2262
## 7         Veracruz      464
## 8               WA     4567
## 9          Yucatan      654
## 10       Zacatecas     1297

Biểu đồ

ggplot(state, aes(x = StateorProvince, y = `Số lượng`)) +
  geom_col(fill = "steelblue") +
  labs(title = "Tần số giao dịch theo StateorProvince", x = "StateorProvince", y = "Số lượng") +
  theme_minimal()

Nhận xét:

  • WA (Washington) là bang có số lượng khách hàng cao nhất với 4567 người, chiếm tỷ trọng lớn trong tổng thể, cho thấy đây là thị trường trọng điểm.

  • Theo sau là CA (California) với 2733 khách hàng và OR (Oregon) với 2262 khách hàng, đều là những bang có dân số lớn và mức độ đô thị hóa cao, phù hợp với hoạt động kinh doanh và tiếp cận khách hàng.

  • Khách hàng tập trung chủ yếu ở các bang thuộc Mỹ (WA, CA, OR), trong khi các tỉnh của Mexico có số lượng khách hàng thấp hơn, gợi ý doanh nghiệp nên ưu tiên phân bổ nguồn lực và chiến lược tiếp thị phù hợp theo từng khu vực địa lý.

2.7. Biến Country

Bảng tần suất

tmp7 <- prop.table(table(dt$Country))
tmp7
## 
##     Canada     Mexico        USA 
## 0.05754321 0.26232307 0.68013372

Bảng tần số

table(dt$Country)
## 
## Canada Mexico    USA 
##    809   3688   9562

Biểu đồ

pie(tmp7,
    labels = paste0(names(tmp7),"(", round(tmp7 * 100,2),"%)"),
    main = "Tỷ lệ giao dịch theo Country",
    col = c("red", "green", "blue"))

Nhận xét:

  • Hoa Kỳ (USA) chiếm tỷ lệ cao nhất với 68.0133722 % tổng số khách hàng. Điều này cho thấy Mỹ là thị trường chính, nơi doanh nghiệp có sự hiện diện mạnh và tập trung khách hàng đông đảo nhất.

  • Mexico chiếm khoảng 26.2323067 %, là thị trường lớn thứ hai. Tỷ lệ này phản ánh mức độ tiếp cận đáng kể, tuy nhiên vẫn còn khoảng cách khá xa so với thị trường Mỹ.

  • Canada chỉ chiếm 5.7543211 %, là thị trường nhỏ nhất trong ba nước. Điều này có thể do dân số thấp hơn, mức độ thâm nhập thị trường hạn chế, hoặc chưa được doanh nghiệp chú trọng khai thác nhiều.

2.8. Biến ProductFamily

Bảng tần suất

tmp8 <- prop.table(table(dt$ProductFamily))
tmp8
## 
##          Drink           Food Non-Consumable 
##     0.08891102     0.72217085     0.18891813

Bảng tần số

table(dt$ProductFamily)
## 
##          Drink           Food Non-Consumable 
##           1250          10153           2656

Biểu đồ

pie(tmp8,
    labels = paste0(names(tmp8),"(", round(tmp8 * 100,2),"%)"),
    main = "Tỷ lệ giao dịch theo ProductFamily",
    col = c("yellow", "orange", "white"))

Nhận xét:

  • Thực phẩm (Food) chiếm tỷ lệ cao nhất với 72.2170851 %, cho thấy doanh nghiệp chủ yếu kinh doanh các mặt hàng thực phẩm. Đây là nhóm sản phẩm cốt lõi, đóng vai trò chính trong doanh thu và nhu cầu tiêu dùng.

  • Hàng không tiêu dùng (Non-Consumable) chiếm 18.8918131 %, là nhóm sản phẩm phụ, nhưng vẫn chiếm tỷ lệ đáng kể, phản ánh sự đa dạng trong danh mục sản phẩm.

  • Đồ uống (Drink) chiếm tỷ lệ thấp nhất với 8.8911018 %, cho thấy đây không phải là nhóm sản phẩm trọng tâm. Tuy nhiên, vẫn có cơ hội mở rộng nếu được đầu tư và tiếp thị phù hợp.

2.9. Biến ProductDepartment

Bảng tần suất

tmp9 <- prop.table(table(dt$ProductDepartment))
data.frame(
  ProductDepartment = names (tmp9),
  Ty_le = round(as.numeric(tmp9),2)
)
##      ProductDepartment Ty_le
## 1  Alcoholic Beverages  0.03
## 2          Baked Goods  0.03
## 3         Baking Goods  0.08
## 4            Beverages  0.05
## 5      Breakfast Foods  0.01
## 6         Canned Foods  0.07
## 7      Canned Products  0.01
## 8             Carousel  0.00
## 9             Checkout  0.01
## 10               Dairy  0.06
## 11                Deli  0.05
## 12                Eggs  0.01
## 13        Frozen Foods  0.10
## 14  Health and Hygiene  0.06
## 15           Household  0.10
## 16                Meat  0.01
## 17         Periodicals  0.01
## 18             Produce  0.14
## 19             Seafood  0.01
## 20         Snack Foods  0.11
## 21              Snacks  0.03
## 22       Starchy Foods  0.02

Bảng tần số

department <- as.data.frame(table(dt$ProductDepartment))
colnames(department) <- c("ProductDepartment", "Số lượng")
department
##      ProductDepartment Số lượng
## 1  Alcoholic Beverages      356
## 2          Baked Goods      425
## 3         Baking Goods     1072
## 4            Beverages      680
## 5      Breakfast Foods      188
## 6         Canned Foods      977
## 7      Canned Products      109
## 8             Carousel       59
## 9             Checkout       82
## 10               Dairy      903
## 11                Deli      699
## 12                Eggs      198
## 13        Frozen Foods     1382
## 14  Health and Hygiene      893
## 15           Household     1420
## 16                Meat       89
## 17         Periodicals      202
## 18             Produce     1994
## 19             Seafood      102
## 20         Snack Foods     1600
## 21              Snacks      352
## 22       Starchy Foods      277

Biểu đồ

ggplot(department, aes(x = ProductDepartment, y = `Số lượng`)) + 
  geom_col(fill = "steelblue") +
  labs (title = "Tần số giao dịch theo ProductDepartment", x = "ProductDepartment", y = "Số lượng") + 
  theme_minimal() +
  theme(axis.text.x=element_text(angle = 45, hjust =1))

Nhận xét:

  • Produce (Rau củ quả) là nhóm sản phẩm chiếm tỷ lệ cao nhất với 1994 sản phẩm, cho thấy nhu cầu cao đối với thực phẩm tươi sống, đây có thể là nhóm hàng chủ lực của doanh nghiệp.

  • Ngoài ra, xuất hiện sự trùng lặp tên giữa “Snack Foods” (1600) và “Snacks” (352), cũng như “Canned Foods” và “Canned Products”, cho thấy có thể tồn tại vấn đề phân loại chưa nhất quán trong cơ sở dữ liệu.

2.10. Biến ProductCategory

Bảng tần suất

tmp10 <- prop.table(table(dt$ProductCategory))
data.frame(
  ProductCategory = names(tmp10),
  Ty_le = round(as.numeric(tmp10),2)
)
##         ProductCategory Ty_le
## 1          Baking Goods  0.03
## 2     Bathroom Products  0.03
## 3         Beer and Wine  0.03
## 4                 Bread  0.03
## 5       Breakfast Foods  0.03
## 6               Candles  0.00
## 7                 Candy  0.03
## 8      Canned Anchovies  0.00
## 9          Canned Clams  0.00
## 10       Canned Oysters  0.00
## 11      Canned Sardines  0.00
## 12        Canned Shrimp  0.00
## 13          Canned Soup  0.03
## 14          Canned Tuna  0.01
## 15 Carbonated Beverages  0.01
## 16    Cleaning Supplies  0.01
## 17        Cold Remedies  0.01
## 18                Dairy  0.06
## 19        Decongestants  0.01
## 20               Drinks  0.01
## 21                 Eggs  0.01
## 22           Electrical  0.03
## 23      Frozen Desserts  0.02
## 24       Frozen Entrees  0.01
## 25                Fruit  0.05
## 26             Hardware  0.01
## 27        Hot Beverages  0.02
## 28              Hygiene  0.01
## 29     Jams and Jellies  0.04
## 30     Kitchen Products  0.02
## 31            Magazines  0.01
## 32                 Meat  0.05
## 33        Miscellaneous  0.00
## 34  Packaged Vegetables  0.00
## 35       Pain Relievers  0.01
## 36       Paper Products  0.02
## 37                Pizza  0.01
## 38     Plastic Products  0.01
## 39 Pure Juice Beverages  0.01
## 40              Seafood  0.01
## 41          Side Dishes  0.01
## 42          Snack Foods  0.11
## 43            Specialty  0.02
## 44        Starchy Foods  0.02
## 45           Vegetables  0.12

Bảng tần số

category <- as.data.frame(table(dt$ProductCategory))
colnames(category) <- c("ProductCategory", "Số lượng")
category
##         ProductCategory Số lượng
## 1          Baking Goods      484
## 2     Bathroom Products      365
## 3         Beer and Wine      356
## 4                 Bread      425
## 5       Breakfast Foods      417
## 6               Candles       45
## 7                 Candy      352
## 8      Canned Anchovies       44
## 9          Canned Clams       53
## 10       Canned Oysters       35
## 11      Canned Sardines       40
## 12        Canned Shrimp       38
## 13          Canned Soup      404
## 14          Canned Tuna       87
## 15 Carbonated Beverages      154
## 16    Cleaning Supplies      189
## 17        Cold Remedies       93
## 18                Dairy      903
## 19        Decongestants       85
## 20               Drinks      135
## 21                 Eggs      198
## 22           Electrical      355
## 23      Frozen Desserts      323
## 24       Frozen Entrees      118
## 25                Fruit      765
## 26             Hardware      129
## 27        Hot Beverages      226
## 28              Hygiene      197
## 29     Jams and Jellies      588
## 30     Kitchen Products      217
## 31            Magazines      202
## 32                 Meat      761
## 33        Miscellaneous       42
## 34  Packaged Vegetables       48
## 35       Pain Relievers      192
## 36       Paper Products      345
## 37                Pizza      194
## 38     Plastic Products      141
## 39 Pure Juice Beverages      165
## 40              Seafood      102
## 41          Side Dishes      153
## 42          Snack Foods     1600
## 43            Specialty      289
## 44        Starchy Foods      277
## 45           Vegetables     1728

Biểu đồ

ggplot(category, aes(x = ProductCategory, y = `Số lượng`)) +
  geom_col(fill = "steelblue") +
  labs(title = "Tần số giao dịch theo ProductCategory", x = "ProductCategory", y = "Số lượng") +
  theme_minimal()+
  theme(axis.text.x = element_text(angle = 45, hjust = 1, size = 8))

Nhận xét:

  • Vegetables (Rau củ): 1728 sản phẩm – nhóm có số lượng lớn nhất, cho thấy doanh nghiệp tập trung mạnh vào mặt hàng tươi sống và thiết yếu.

  • Snack Foods (Đồ ăn vặt): 1600 sản phẩm – thể hiện nhu cầu cao và sự phổ biến trong tiêu dùng hằng ngày.

  • Dairy (Sữa và các sản phẩm từ sữa): 903 sản phẩm – là nhóm hàng thiết yếu, tiêu dùng thường xuyên.

  • Jams and Jellies (Mứt và thạch): 588 sản phẩm – cho thấy mức độ tiêu thụ cao, thường đi kèm với bánh mì và bữa sáng.

PHẦN 3: ƯỚC LƯỢNG KHOẢNG VÀ KIỂM ĐỊNH GIẢ THUYẾT CHO TỶ LỆ

3.1. Gender (F)

Ước lượng khoảng tin cậy

n_female <- sum(dt$Gender == "F")
n_total <- nrow(dt)
prop.test(n_female, n_total, conf.level = 0.95)$conf.int
## [1] 0.5016931 0.5182886
## attr(,"conf.level")
## [1] 0.95

Với độ tin cậy 95%, ta ước lượng rằng tỷ lệ nữ trong tổng thể nằm trong khoảng từ 0.5016931 đến 0.5182886.

Kiểm định giả thuyết

Kiểm định giả thuyết:

  • \(H_0\): Tỷ lệ nữ = 0.5

  • \(H_1\): Tỷ lệ nữ \(\neq\) 0.5

prop.test(n_female, n_total, p = 0.5)
## 
##  1-sample proportions test with continuity correction
## 
## data:  n_female out of n_total, null probability 0.5
## X-squared = 5.5765, df = 1, p-value = 0.0182
## alternative hypothesis: true p is not equal to 0.5
## 95 percent confidence interval:
##  0.5016931 0.5182886
## sample estimates:
##         p 
## 0.5099936

Ta thấy P-value = 0.0182 nhỏ hơn 0.05. Bác bỏ \(H_0\). Ta kết luận rằng tỷ lệ nữ thực sự khác 0.5, tức là không cân bằng giới tính tuyệt đối trong dân số khảo sát.

3.2. MaritalStatus (S)

Ước lượng khoảng tin cậy

n_single <- sum(dt$MaritalStatus == "S")
prop.test(n_single, n_total, conf.level = 0.95)$conf.int
## [1] 0.5033292 0.5199235
## attr(,"conf.level")
## [1] 0.95

Với độ tin cậy 95%, ta ước lượng rằng tỷ lệ độc thân trong tổng thể nằm trong khoảng từ 0.5033292 đến 0.5199235.

Kiểm định giả thuyết

Kiểm định giả thuyết:

  • \(H_0\): Tỷ lệ người độc thân = 0.5

  • \(H_1\): Tỷ lệ người độc thân \(\neq\) 0.5

prop.test(n_single, n_total, p = 0.5)
## 
##  1-sample proportions test with continuity correction
## 
## data:  n_single out of n_total, null probability 0.5
## X-squared = 7.5593, df = 1, p-value = 0.00597
## alternative hypothesis: true p is not equal to 0.5
## 95 percent confidence interval:
##  0.5033292 0.5199235
## sample estimates:
##         p 
## 0.5116296

Ta thấy P-value = 0.00597 nhỏ hơn 0.05. Bác bỏ \(H_0\). Ta kết luận rằng tỷ lệ người độc thân khác 0.5.

3.3. ProductFamily (Food)

Ước lượng khoảng tin cậy

n_food <- sum(dt$ProductFamily == "Food")
prop.test(n_food, n_total, conf.level = 0.95)$conf.int
## [1] 0.7146709 0.7295489
## attr(,"conf.level")
## [1] 0.95

Với độ tin cậy 95%, ta ước lượng rằng tỷ lệ sản phẩm Food trong tổng thể nằm trong khoảng từ 0.7146709 đến 0.7295489.

Kiểm định giả thuyết

tylefood <- n_food/n_total
tylefood
## [1] 0.7221709

Kiểm định giả thuyết:

  • \(H_0\): Tỷ lệ sản phẩm Food \(\geq\) 0.7

  • \(H_1\): Tỷ lệ sản phẩm Food < 0.7

prop.test(n_food, n_total, p = 0.7)
## 
##  1-sample proportions test with continuity correction
## 
## data:  n_food out of n_total, null probability 0.7
## X-squared = 32.802, df = 1, p-value = 1.02e-08
## alternative hypothesis: true p is not equal to 0.7
## 95 percent confidence interval:
##  0.7146709 0.7295489
## sample estimates:
##         p 
## 0.7221709

Ta thấy P-value = 1.02e-08 nhỏ hơn 0.05. Bác bỏ \(H_0\). Ta kết luận rằng tỷ lệ người độc thân khác 0.5.

PHẦN 4: PHÂN TÍCH MỐI QUAN HỆ GIỮA HAI BIẾN ĐỊNH TÍNH

4.1. Gender và ProductFamily

Bảng tần suất chéo và tính toán tỷ lệ phần trăm tổng thể

gender_family <- table(dt$Gender, dt$ProductFamily)
gender_family
##    
##     Drink Food Non-Consumable
##   F   669 5149           1352
##   M   581 5004           1304
prop.table(gender_family)
##    
##          Drink       Food Non-Consumable
##   F 0.04758518 0.36624226     0.09616616
##   M 0.04132584 0.35592859     0.09275197

Biểu đồ

barplot(gender_family, 
        beside = TRUE,        # TRUE để cột nhóm
        col = c("lightblue", "pink"),
        legend = rownames(gender_family),
        xlab = "Product Family",
        ylab = "Số lượng",
        main = "So sánh số lượng sản phẩm theo giới tính")

Nhận xét:

  • Phân bố mua hàng của nam và nữ khá tương đồng: Cả hai nhóm giới tính đều có xu hướng mua nhiều sản phẩm thuộc nhóm Food, tiếp theo là Non-Consumable, và ít mua nhất là nhóm Drink.

  • Nữ mua hàng nhiều hơn nam ở tất cả các nhóm sản phẩm: Số lượng sản phẩm mua của nữ vượt trội hơn so với nam ở cả ba nhóm, mặc dù sự chênh lệch không quá lớn. Điều này có thể phản ánh rằng nữ có xu hướng mua sắm đa dạng hoặc tần suất mua hàng cao hơn.

  • Không có sự khác biệt lớn về xu hướng lựa chọn nhóm sản phẩm giữa nam và nữ: Tỷ lệ giữa các nhóm sản phẩm trong từng giới tính tương đối giống nhau, nghĩa là giới tính không ảnh hưởng nhiều đến loại sản phẩm được chọn, mà chủ yếu là số lượng mua.

  • Tóm lại: Mối quan hệ giữa Gender và ProductFamily là tồn tại về mặt số lượng, với nữ mua nhiều sản phẩm hơn, nhưng xu hướng chọn nhóm sản phẩm thì khá đồng đều giữa hai giới.

Kiểm định thống kê

Kiểm định giả thuyết:

  • \(H_0\): Gender và ProductFamily độc lập nhau.

  • \(H_1\): Gender và ProductFamily có liên quan đến nhau.

chi1 <- chisq.test(gender_family)
chi1
## 
##  Pearson's Chi-squared test
## 
## data:  gender_family
## X-squared = 3.5185, df = 2, p-value = 0.1722
  • X-squared = 3.5185

  • df = 2

  • p-value = 0.1722

  • Vì p-value = 0.1722 > 0.05. Chưa đủ cơ sở bác bỏ \(H_0\). Vậy Gender và ProductFamily độc lập nhau.

4.2. AnnualIncome và ProductCategory

Bảng tần suất chéo và tính toán tỷ lệ phần trăm tổng thể

income_category <- table(dt$AnnualIncome, dt$ProductCategory)
income_category
##                
##                 Baking Goods Bathroom Products Beer and Wine Bread
##   $10K - $30K            119                85            80   108
##   $110K - $130K           18                16            14    23
##   $130K - $150K           22                19            15    24
##   $150K +                 11                 8             3    10
##   $30K - $50K            151               116           121   134
##   $50K - $70K             86                50            61    63
##   $70K - $90K             59                51            39    50
##   $90K - $110K            18                20            23    13
##                
##                 Breakfast Foods Candles Candy Canned Anchovies Canned Clams
##   $10K - $30K               111       6    76               10           12
##   $110K - $130K               7       1    16                2            1
##   $130K - $150K              28       2    19                1            3
##   $150K +                     7       1     8                1            1
##   $30K - $50K               143      21   127               14           20
##   $50K - $70K                62       7    60                8            6
##   $70K - $90K                42       7    29                6            7
##   $90K - $110K               17       0    17                2            3
##                
##                 Canned Oysters Canned Sardines Canned Shrimp Canned Soup
##   $10K - $30K                5               8             9          98
##   $110K - $130K              4               2             0          19
##   $130K - $150K              3               1             2          17
##   $150K +                    1               1             0           8
##   $30K - $50K               10              18            16         137
##   $50K - $70K                5               5             7          67
##   $70K - $90K                5               3             2          50
##   $90K - $110K               2               2             2           8
##                
##                 Canned Tuna Carbonated Beverages Cleaning Supplies
##   $10K - $30K            13                   36                47
##   $110K - $130K           3                    6                 8
##   $130K - $150K           5                    3                 7
##   $150K +                 3                    6                 4
##   $30K - $50K            28                   51                51
##   $50K - $70K            19                   20                35
##   $70K - $90K            10                   23                25
##   $90K - $110K            6                    9                12
##                
##                 Cold Remedies Dairy Decongestants Drinks Eggs Electrical
##   $10K - $30K              23   174            22     30   37         74
##   $110K - $130K             2    38             4      9    9         20
##   $130K - $150K             6    49             5      8   15         21
##   $150K +                   3    17             0      4    4          8
##   $30K - $50K              32   299            31     46   67        114
##   $50K - $70K              12   160             8     19   36         57
##   $70K - $90K              10   126            10     16   20         47
##   $90K - $110K              5    40             5      3   10         14
##                
##                 Frozen Desserts Frozen Entrees Fruit Hardware Hot Beverages
##   $10K - $30K                75             20   150       31            48
##   $110K - $130K              17             10    29        3            11
##   $130K - $150K              17              5    48       10             9
##   $150K +                     8              2    10        1             5
##   $30K - $50K               112             35   252       41            79
##   $50K - $70K                44             21   136       25            33
##   $70K - $90K                36             18   104       13            26
##   $90K - $110K               14              7    36        5            15
##                
##                 Hygiene Jams and Jellies Kitchen Products Magazines Meat
##   $10K - $30K        36              137               47        49  156
##   $110K - $130K       6               31                5        17   41
##   $130K - $150K      14               32               14         9   52
##   $150K +             4                8                3         1   14
##   $30K - $50K        62              185               74        65  253
##   $50K - $70K        37              103               51        36  115
##   $70K - $90K        29               71               20        18  100
##   $90K - $110K        9               21                3         7   30
##                
##                 Miscellaneous Packaged Vegetables Pain Relievers Paper Products
##   $10K - $30K              10                   9             42             70
##   $110K - $130K             1                   1              7             19
##   $130K - $150K             6                   1              8             17
##   $150K +                   0                   2              5              8
##   $30K - $50K               8                  20             61            101
##   $50K - $70K              14                   8             34             67
##   $70K - $90K               2                   7             30             46
##   $90K - $110K              1                   0              5             17
##                
##                 Pizza Plastic Products Pure Juice Beverages Seafood Side Dishes
##   $10K - $30K      50               41                   34      17          36
##   $110K - $130K    13                6                    9       3           2
##   $130K - $150K    12                7                    5       8           8
##   $150K +           1                2                    5       5           3
##   $30K - $50K      59               33                   52      44          53
##   $50K - $70K      31               31                   25      11          23
##   $70K - $90K      15               17                   26      12          23
##   $90K - $110K     13                4                    9       2           5
##                
##                 Snack Foods Specialty Starchy Foods Vegetables
##   $10K - $30K           329        65            70        385
##   $110K - $130K          85        13            18         74
##   $130K - $150K          83        18            15         87
##   $150K +                35         5             5         32
##   $30K - $50K           533        96            85        551
##   $50K - $70K           274        50            48        300
##   $70K - $90K           184        32            28        215
##   $90K - $110K           77        10             8         84
prop.table(income_category)
##                
##                 Baking Goods Bathroom Products Beer and Wine        Bread
##   $10K - $30K   8.464329e-03      6.045949e-03  5.690305e-03 7.681912e-03
##   $110K - $130K 1.280319e-03      1.138061e-03  9.958034e-04 1.635963e-03
##   $130K - $150K 1.564834e-03      1.351447e-03  1.066932e-03 1.707092e-03
##   $150K +       7.824170e-04      5.690305e-04  2.133864e-04 7.112881e-04
##   $30K - $50K   1.074045e-02      8.250942e-03  8.606587e-03 9.531261e-03
##   $50K - $70K   6.117078e-03      3.556441e-03  4.338858e-03 4.481115e-03
##   $70K - $90K   4.196600e-03      3.627570e-03  2.774024e-03 3.556441e-03
##   $90K - $110K  1.280319e-03      1.422576e-03  1.635963e-03 9.246746e-04
##                
##                 Breakfast Foods      Candles        Candy Canned Anchovies
##   $10K - $30K      7.895298e-03 4.267729e-04 5.405790e-03     7.112881e-04
##   $110K - $130K    4.979017e-04 7.112881e-05 1.138061e-03     1.422576e-04
##   $130K - $150K    1.991607e-03 1.422576e-04 1.351447e-03     7.112881e-05
##   $150K +          4.979017e-04 7.112881e-05 5.690305e-04     7.112881e-05
##   $30K - $50K      1.017142e-02 1.493705e-03 9.033359e-03     9.958034e-04
##   $50K - $70K      4.409986e-03 4.979017e-04 4.267729e-03     5.690305e-04
##   $70K - $90K      2.987410e-03 4.979017e-04 2.062736e-03     4.267729e-04
##   $90K - $110K     1.209190e-03 0.000000e+00 1.209190e-03     1.422576e-04
##                
##                 Canned Clams Canned Oysters Canned Sardines Canned Shrimp
##   $10K - $30K   8.535458e-04   3.556441e-04    5.690305e-04  6.401593e-04
##   $110K - $130K 7.112881e-05   2.845153e-04    1.422576e-04  0.000000e+00
##   $130K - $150K 2.133864e-04   2.133864e-04    7.112881e-05  1.422576e-04
##   $150K +       7.112881e-05   7.112881e-05    7.112881e-05  0.000000e+00
##   $30K - $50K   1.422576e-03   7.112881e-04    1.280319e-03  1.138061e-03
##   $50K - $70K   4.267729e-04   3.556441e-04    3.556441e-04  4.979017e-04
##   $70K - $90K   4.979017e-04   3.556441e-04    2.133864e-04  1.422576e-04
##   $90K - $110K  2.133864e-04   1.422576e-04    1.422576e-04  1.422576e-04
##                
##                  Canned Soup  Canned Tuna Carbonated Beverages
##   $10K - $30K   6.970624e-03 9.246746e-04         2.560637e-03
##   $110K - $130K 1.351447e-03 2.133864e-04         4.267729e-04
##   $130K - $150K 1.209190e-03 3.556441e-04         2.133864e-04
##   $150K +       5.690305e-04 2.133864e-04         4.267729e-04
##   $30K - $50K   9.744648e-03 1.991607e-03         3.627570e-03
##   $50K - $70K   4.765631e-03 1.351447e-03         1.422576e-03
##   $70K - $90K   3.556441e-03 7.112881e-04         1.635963e-03
##   $90K - $110K  5.690305e-04 4.267729e-04         6.401593e-04
##                
##                 Cleaning Supplies Cold Remedies        Dairy Decongestants
##   $10K - $30K        3.343054e-03  1.635963e-03 1.237641e-02  1.564834e-03
##   $110K - $130K      5.690305e-04  1.422576e-04 2.702895e-03  2.845153e-04
##   $130K - $150K      4.979017e-04  4.267729e-04 3.485312e-03  3.556441e-04
##   $150K +            2.845153e-04  2.133864e-04 1.209190e-03  0.000000e+00
##   $30K - $50K        3.627570e-03  2.276122e-03 2.126752e-02  2.204993e-03
##   $50K - $70K        2.489508e-03  8.535458e-04 1.138061e-02  5.690305e-04
##   $70K - $90K        1.778220e-03  7.112881e-04 8.962231e-03  7.112881e-04
##   $90K - $110K       8.535458e-04  3.556441e-04 2.845153e-03  3.556441e-04
##                
##                       Drinks         Eggs   Electrical Frozen Desserts
##   $10K - $30K   2.133864e-03 2.631766e-03 5.263532e-03    5.334661e-03
##   $110K - $130K 6.401593e-04 6.401593e-04 1.422576e-03    1.209190e-03
##   $130K - $150K 5.690305e-04 1.066932e-03 1.493705e-03    1.209190e-03
##   $150K +       2.845153e-04 2.845153e-04 5.690305e-04    5.690305e-04
##   $30K - $50K   3.271925e-03 4.765631e-03 8.108685e-03    7.966427e-03
##   $50K - $70K   1.351447e-03 2.560637e-03 4.054342e-03    3.129668e-03
##   $70K - $90K   1.138061e-03 1.422576e-03 3.343054e-03    2.560637e-03
##   $90K - $110K  2.133864e-04 7.112881e-04 9.958034e-04    9.958034e-04
##                
##                 Frozen Entrees        Fruit     Hardware Hot Beverages
##   $10K - $30K     1.422576e-03 1.066932e-02 2.204993e-03  3.414183e-03
##   $110K - $130K   7.112881e-04 2.062736e-03 2.133864e-04  7.824170e-04
##   $130K - $150K   3.556441e-04 3.414183e-03 7.112881e-04  6.401593e-04
##   $150K +         1.422576e-04 7.112881e-04 7.112881e-05  3.556441e-04
##   $30K - $50K     2.489508e-03 1.792446e-02 2.916281e-03  5.619176e-03
##   $50K - $70K     1.493705e-03 9.673519e-03 1.778220e-03  2.347251e-03
##   $70K - $90K     1.280319e-03 7.397397e-03 9.246746e-04  1.849349e-03
##   $90K - $110K    4.979017e-04 2.560637e-03 3.556441e-04  1.066932e-03
##                
##                      Hygiene Jams and Jellies Kitchen Products    Magazines
##   $10K - $30K   2.560637e-03     9.744648e-03     3.343054e-03 3.485312e-03
##   $110K - $130K 4.267729e-04     2.204993e-03     3.556441e-04 1.209190e-03
##   $130K - $150K 9.958034e-04     2.276122e-03     9.958034e-04 6.401593e-04
##   $150K +       2.845153e-04     5.690305e-04     2.133864e-04 7.112881e-05
##   $30K - $50K   4.409986e-03     1.315883e-02     5.263532e-03 4.623373e-03
##   $50K - $70K   2.631766e-03     7.326268e-03     3.627570e-03 2.560637e-03
##   $70K - $90K   2.062736e-03     5.050146e-03     1.422576e-03 1.280319e-03
##   $90K - $110K  6.401593e-04     1.493705e-03     2.133864e-04 4.979017e-04
##                
##                         Meat Miscellaneous Packaged Vegetables Pain Relievers
##   $10K - $30K   1.109610e-02  7.112881e-04        6.401593e-04   2.987410e-03
##   $110K - $130K 2.916281e-03  7.112881e-05        7.112881e-05   4.979017e-04
##   $130K - $150K 3.698698e-03  4.267729e-04        7.112881e-05   5.690305e-04
##   $150K +       9.958034e-04  0.000000e+00        1.422576e-04   3.556441e-04
##   $30K - $50K   1.799559e-02  5.690305e-04        1.422576e-03   4.338858e-03
##   $50K - $70K   8.179814e-03  9.958034e-04        5.690305e-04   2.418380e-03
##   $70K - $90K   7.112881e-03  1.422576e-04        4.979017e-04   2.133864e-03
##   $90K - $110K  2.133864e-03  7.112881e-05        0.000000e+00   3.556441e-04
##                
##                 Paper Products        Pizza Plastic Products
##   $10K - $30K     4.979017e-03 3.556441e-03     2.916281e-03
##   $110K - $130K   1.351447e-03 9.246746e-04     4.267729e-04
##   $130K - $150K   1.209190e-03 8.535458e-04     4.979017e-04
##   $150K +         5.690305e-04 7.112881e-05     1.422576e-04
##   $30K - $50K     7.184010e-03 4.196600e-03     2.347251e-03
##   $50K - $70K     4.765631e-03 2.204993e-03     2.204993e-03
##   $70K - $90K     3.271925e-03 1.066932e-03     1.209190e-03
##   $90K - $110K    1.209190e-03 9.246746e-04     2.845153e-04
##                
##                 Pure Juice Beverages      Seafood  Side Dishes  Snack Foods
##   $10K - $30K           2.418380e-03 1.209190e-03 2.560637e-03 2.340138e-02
##   $110K - $130K         6.401593e-04 2.133864e-04 1.422576e-04 6.045949e-03
##   $130K - $150K         3.556441e-04 5.690305e-04 5.690305e-04 5.903692e-03
##   $150K +               3.556441e-04 3.556441e-04 2.133864e-04 2.489508e-03
##   $30K - $50K           3.698698e-03 3.129668e-03 3.769827e-03 3.791166e-02
##   $50K - $70K           1.778220e-03 7.824170e-04 1.635963e-03 1.948930e-02
##   $70K - $90K           1.849349e-03 8.535458e-04 1.635963e-03 1.308770e-02
##   $90K - $110K          6.401593e-04 1.422576e-04 3.556441e-04 5.476919e-03
##                
##                    Specialty Starchy Foods   Vegetables
##   $10K - $30K   4.623373e-03  4.979017e-03 2.738459e-02
##   $110K - $130K 9.246746e-04  1.280319e-03 5.263532e-03
##   $130K - $150K 1.280319e-03  1.066932e-03 6.188207e-03
##   $150K +       3.556441e-04  3.556441e-04 2.276122e-03
##   $30K - $50K   6.828366e-03  6.045949e-03 3.919198e-02
##   $50K - $70K   3.556441e-03  3.414183e-03 2.133864e-02
##   $70K - $90K   2.276122e-03  1.991607e-03 1.529270e-02
##   $90K - $110K  7.112881e-04  5.690305e-04 5.974820e-03

Biểu đồ

barplot(income_category,
        beside = FALSE,
        col = c("yellow", "pink", "green", "blue", "red", "black", "orange", "brown"),
        legend = rownames (income_category),
        xlab = "Nhóm sản phẩm",
        ylab = "Thu nhập",
        main = "Phân bố loại sản phẩm theo nhóm thu nhập")

Nhận xét:

  • Nhóm $10K - $30K và $30K - $50K là hai nhóm có số lượt mua cao nhất trên hầu hết các loại sản phẩm.

  • Các mặt hàng như: Snack Foods, Vegetables, Meat, Dairy, Fruit, Bread, Candy, và Canned Soup là được mua nhiều nhất xuyên suốt tất cả nhóm thu nhập.

  • Các sản phẩm này thuộc nhóm thiết yếu (thực phẩm tươi sống hoặc chế biến đơn giản) ⇒ không phụ thuộc quá nhiều vào mức thu nhập.

  • Nhóm $110K - $130K, $130K - $150K, và $150K+ có số lượng mua khá thấp ở tất cả các loại sản phẩm.

Kiểm định thống kê

Kiểm định giả thuyết:

  • \(H_0\): AnnualIncome và ProductCategory độc lập nhau.

  • \(H_1\): AnnualIncome và ProductCategory có liên quan đến nhau.

chi2 <- chisq.test(income_category)
## Warning in chisq.test(income_category): Chi-squared approximation may be
## incorrect
chi2
## 
##  Pearson's Chi-squared test
## 
## data:  income_category
## X-squared = 295.23, df = 308, p-value = 0.6897
  • X-squared = 295.23

  • df = 308

  • p-value = 0.6897

  • Vì p-value = 0.6897 > 0.05. Chưa đủ cơ sở bác bỏ \(H_0\). Vậy AnnualIncome và ProductCategory độc lập nhau.

4.3. Country và ProductFamily

Bảng tần suất chéo và tính toán tỷ lệ phần trăm tổng thể

country_family <- table(dt$Country, dt$ProductFamily)
country_family
##         
##          Drink Food Non-Consumable
##   Canada    69  580            160
##   Mexico   325 2683            680
##   USA      856 6890           1816
prop.table(country_family)
##         
##                Drink        Food Non-Consumable
##   Canada 0.004907888 0.041254712    0.011380610
##   Mexico 0.023116865 0.190838609    0.048367594
##   USA    0.060886265 0.490077530    0.129169927

Biểu đồ

barplot(country_family,
        beside = TRUE,
        col = c("green", "red", "purple"),
        legend = rownames(country_family),
        xlab = "ProductFamily",
        ylab = "Country",
        main = "Phân bố loại sản phẩm theo các nước")

Nhận xét:

  • Thực phẩm (Food) là danh mục được tiêu thụ nhiều nhất ở cả ba quốc gia.

  • Tiếp theo là Non-Consumable, và cuối cùng là Drink.

  • Hoa Kỳ có xu hướng tiêu dùng vượt trội hơn hẳn so với hai nước còn lại.

Kiểm định thống kê

Kiểm định giả thuyết:

  • \(H_0\): Country và ProductFamily độc lập nhau.

  • \(H_1\): Country và ProductFamily có liên quan đến nhau.

chi3 <- chisq.test(country_family)
chi3
## 
##  Pearson's Chi-squared test
## 
## data:  country_family
## X-squared = 1.1831, df = 4, p-value = 0.8809
  • X-squared = 1.1831

  • df = 4

  • p-value = 0.8809

  • Vì p-value = 0.8809 > 0.05. Chưa đủ cơ sở bác bỏ \(H_0\). Vậy Country và ProductFamily độc lập nhau.