1. Đọc bộ dư liệu

d<-read.csv("C:/Users/PC/Downloads/Supermarket Transactions.csv", header= T)

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

d1 <- c("MaritalStatus", "City", "StateorProvince", 
              "Country", "ProductFamily", "ProductDepartment", 
                "ProductCategory" , "Gender", "Homeowner")

d2 <-d[,d1]
head(d2)
##   MaritalStatus          City StateorProvince Country ProductFamily
## 1             S   Los Angeles              CA     USA          Food
## 2             M   Los Angeles              CA     USA          Food
## 3             M     Bremerton              WA     USA          Food
## 4             M      Portland              OR     USA          Food
## 5             S Beverly Hills              CA     USA         Drink
## 6             M Beverly Hills              CA     USA          Food
##   ProductDepartment      ProductCategory Gender Homeowner
## 1       Snack Foods          Snack Foods      F         Y
## 2           Produce           Vegetables      M         Y
## 3       Snack Foods          Snack Foods      F         N
## 4            Snacks                Candy      M         Y
## 5         Beverages Carbonated Beverages      F         Y
## 6              Deli          Side Dishes      F         Y

2.1 Mô tả biến MaritalStatus

Bảng tần suất

HN1 <- table(d$MaritalStatus)/sum(nrow(d))
HN1
## 
##         M         S 
## 0.4883704 0.5116296

Bảng tần số

HN2<-table(d$MaritalStatus)
HN2
## 
##    M    S 
## 6866 7193

Vậy trong data này có 48.8370439% đã kết hôn và 51.1629561% chưa kết hôn

Biểu đồ

# Vẽ biểu đồ tròn
pie(HN2 ,
    main   = "Phân bố sở hữu nhà",
    labels = paste0(names(HN2),
                    " (", round(HN1 *100, 1), "%)"),
    col    = c("blue", "red"))

2.2 Mô tả biến City

Bảng tần suất

c1 <- table(d$City)/sum(nrow(d))
c1
## 
##      Acapulco    Bellingham Beverly Hills     Bremerton       Camacho 
##   0.027242336   0.010171420   0.057685468   0.059321431   0.032150224 
##   Guadalajara       Hidalgo   Los Angeles        Merida   Mexico City 
##   0.005334661   0.060103848   0.065865282   0.046518245   0.013798990 
##       Orizaba      Portland         Salem    San Andres     San Diego 
##   0.033003770   0.062308841   0.098584537   0.044170994   0.061597553 
## San Francisco       Seattle       Spokane        Tacoma     Vancouver 
##   0.009246746   0.065580767   0.062237712   0.089408920   0.045024539 
##      Victoria   Walla Walla        Yakima 
##   0.012518671   0.011380610   0.026744434

Bảng tần số

c2<-table(d$City)
c2
## 
##      Acapulco    Bellingham Beverly Hills     Bremerton       Camacho 
##           383           143           811           834           452 
##   Guadalajara       Hidalgo   Los Angeles        Merida   Mexico City 
##            75           845           926           654           194 
##       Orizaba      Portland         Salem    San Andres     San Diego 
##           464           876          1386           621           866 
## San Francisco       Seattle       Spokane        Tacoma     Vancouver 
##           130           922           875          1257           633 
##      Victoria   Walla Walla        Yakima 
##           176           160           376

Vậy trong data này có 2.72% sống ở Acapulco và 1.02% sống ở Bellingham.

Tiếp theo, có 5.77% sống ở Beverly Hills, 5.93% ở Bremerton và 3.22% ở Camacho.

Trong khi đó, chỉ 0.53% cư dân sống ở Guadalajara và 6.01% ở Hidalgo. Los Angeles có tỷ lệ cao hơn với 6.59%.

Mexico City chiếm 1.38%, thấp hơn so với Portland (6.23%) và Salem (9.86%).

Các thành phố tại Washington như Seattle (6.56%), Spokane (6.22%), và Tacoma (8.94%) có tỷ lệ đáng kể.

Cuối cùng, các khu vực nhỏ như Victoria (1.25%), Walla Walla (1.14%) và Yakima (2.67%) chỉ chiếm phần nhỏ.

Biểu đồ

library(ggplot2)

# Bảng tần suất và phần trăm dưới dạng data.frame
c_df <- as.data.frame(table(d$City))
colnames(c_df) <- c("City", "Frequency")
c_df$Percentage <- round(c_df$Frequency / sum(c_df$Frequency) * 100, 2)

# Vẽ biểu đồ cột
ggplot(c_df, aes(x = reorder(City, -Percentage), y = Percentage, fill = City)) +
  geom_col(width = 0.6) +
  geom_text(aes(label = paste0(Percentage, "%")), vjust = -0.3, size = 3) +
  labs(
    title = "Phân bố theo thành phố",
    x = "Thành phố",
    y = "Phần trăm (%)"
  ) +
  theme_minimal() +
  theme(axis.text.x = element_text(angle = 45, hjust = 1),
        legend.position = "none")

2.3 Mô tả biến StateorProvince

Bảng tần suất

BT1 <- table(d$StateorProvince)/sum(nrow(d))
BT1
## 
##          BC          CA          DF    Guerrero     Jalisco          OR 
## 0.057543211 0.194395049 0.057969984 0.027242336 0.005334661 0.160893378 
##    Veracruz          WA     Yucatan   Zacatecas 
## 0.033003770 0.324845295 0.046518245 0.092254072

Bảng tần số

BT2<-table(d$StateorProvince)
BT2
## 
##        BC        CA        DF  Guerrero   Jalisco        OR  Veracruz        WA 
##       809      2733       815       383        75      2262       464      4567 
##   Yucatan Zacatecas 
##       654      1297

Vậy trong data này có 5.75% sống ở BC và 19.44% sống ở CA.

Tiếp theo, có 5.80% sống ở DF, 2.72% ở Guerrero và 0.53% ở Jalisco.

Trong khi đó, OR chiếm 16.09% và Veracruz là 3.30%. Tỷ lệ cao nhất là bang WA với 32.48%.

Yucatan có tỷ lệ 4.65%, trong khi Zacatecas chiếm 9.23% tổng số khách hàng trong dữ liệu.

2.4 Mô tả biến StateorProvince

Bảng tần suất

co1 <- table(d$Country)/sum(nrow(d))
co1
## 
##     Canada     Mexico        USA 
## 0.05754321 0.26232307 0.68013372

Bảng tần số

co2<-table(d$Country)
co2
## 
## Canada Mexico    USA 
##    809   3688   9562

Vậy trong data này có 48.8370439% đã kết hôn và 51.1629561% chưa kết hôn

Biểu đồ

# Vẽ biểu đồ tròn với 3 thành phố
pie(co2,
    main   = "Phân bố theo Country",
    labels = paste0(names(co2),
                    " (", round(co2 * 100, 1), "%)"),
    col    = c("blue", "red", "green"))

2.5 Mô tả biến ProductFamily

Bảng tần suất

f1 <- table(d$ProductFamily)/sum(nrow(d))
f1
## 
##          Drink           Food Non-Consumable 
##     0.08891102     0.72217085     0.18891813

Bảng tần số

f2<-table(d$ProductFamily)
f2
## 
##          Drink           Food Non-Consumable 
##           1250          10153           2656

Phần lớn sản phẩm được bán là thực phẩm (72.22%), tiếp theo là hàng phi tiêu dùng (18.89%) và đồ uống (8.89%). Điều này cho thấy thực phẩm là nhóm hàng chủ lực trong hoạt động bán lẻ của siêu thị

Biểu đồ

# Vẽ biểu đồ tròn với 3 thành phố
pie(f2,
    main   = "Phân bố theo Country",
    labels = paste0(names(f2),
                    " (", round(f2 * 100, 1), "%)"),
    col    = c("blue", "red", "green"))

2.6 Mô tả biến ProductDepartment

Bảng tần suất

dp1 <- table(d$ProductDepartment)/sum(nrow(d))
dp1
## 
## Alcoholic Beverages         Baked Goods        Baking Goods           Beverages 
##         0.025321858         0.030229746         0.076250089         0.048367594 
##     Breakfast Foods        Canned Foods     Canned Products            Carousel 
##         0.013372217         0.069492852         0.007753041         0.004196600 
##            Checkout               Dairy                Deli                Eggs 
##         0.005832563         0.064229319         0.049719041         0.014083505 
##        Frozen Foods  Health and Hygiene           Household                Meat 
##         0.098300021         0.063518031         0.101002916         0.006330464 
##         Periodicals             Produce             Seafood         Snack Foods 
##         0.014368020         0.141830856         0.007255139         0.113806103 
##              Snacks       Starchy Foods 
##         0.025037343         0.019702682

Bảng tần số

dp2<-table(d$ProductDepartment)
dp2
## 
## Alcoholic Beverages         Baked Goods        Baking Goods           Beverages 
##                 356                 425                1072                 680 
##     Breakfast Foods        Canned Foods     Canned Products            Carousel 
##                 188                 977                 109                  59 
##            Checkout               Dairy                Deli                Eggs 
##                  82                 903                 699                 198 
##        Frozen Foods  Health and Hygiene           Household                Meat 
##                1382                 893                1420                  89 
##         Periodicals             Produce             Seafood         Snack Foods 
##                 202                1994                 102                1600 
##              Snacks       Starchy Foods 
##                 352                 277

Vậy trong data này có 2.53% sản phẩm thuộc nhóm Alcoholic Beverages và 3.02% thuộc Baked Goods.

Baking Goods chiếm 7.63%, cao hơn Breakfast Foods (1.34%) và Canned Products (0.78%).

Canned Foods chiếm 6.95%, trong khi Carousel và Checkout chỉ chiếm lần lượt 0.42% và 0.58%.

Các nhóm lớn hơn gồm Dairy (6.42%), Deli (4.97%) và Eggs (1.41%).

Frozen Foods chiếm 9.83%, Health and Hygiene là 6.35%, trong khi Household là một trong các nhóm lớn nhất với 10.10%.

Nhóm sản phẩm chiếm tỷ lệ cao nhất là Produce, với 14.18%, tiếp theo là Snack Foods (11.38%).

Ngược lại, một số nhóm nhỏ như Meat (0.63%), Seafood (0.73%) và Starchy Foods (1.97%) chỉ chiếm một phần nhỏ trong tổng phân phối.

2.6 Mô tả biến ProductCategory

Bảng tần suất

pc1 <- table(d$ProductCategory)/sum(nrow(d))
pc1
## 
##         Baking Goods    Bathroom Products        Beer and Wine 
##          0.034426346          0.025962017          0.025321858 
##                Bread      Breakfast Foods              Candles 
##          0.030229746          0.029660716          0.003200797 
##                Candy     Canned Anchovies         Canned Clams 
##          0.025037343          0.003129668          0.003769827 
##       Canned Oysters      Canned Sardines        Canned Shrimp 
##          0.002489508          0.002845153          0.002702895 
##          Canned Soup          Canned Tuna Carbonated Beverages 
##          0.028736041          0.006188207          0.010953837 
##    Cleaning Supplies        Cold Remedies                Dairy 
##          0.013443346          0.006614980          0.064229319 
##        Decongestants               Drinks                 Eggs 
##          0.006045949          0.009602390          0.014083505 
##           Electrical      Frozen Desserts       Frozen Entrees 
##          0.025250729          0.022974607          0.008393200 
##                Fruit             Hardware        Hot Beverages 
##          0.054413543          0.009175617          0.016075112 
##              Hygiene     Jams and Jellies     Kitchen Products 
##          0.014012376          0.041823743          0.015434953 
##            Magazines                 Meat        Miscellaneous 
##          0.014368020          0.054129028          0.002987410 
##  Packaged Vegetables       Pain Relievers       Paper Products 
##          0.003414183          0.013656732          0.024539441 
##                Pizza     Plastic Products Pure Juice Beverages 
##          0.013798990          0.010029163          0.011736254 
##              Seafood          Side Dishes          Snack Foods 
##          0.007255139          0.010882709          0.113806103 
##            Specialty        Starchy Foods           Vegetables 
##          0.020556227          0.019702682          0.122910591

Bảng tần số

pc2<-table(d$ProductCategory)
pc2
## 
##         Baking Goods    Bathroom Products        Beer and Wine 
##                  484                  365                  356 
##                Bread      Breakfast Foods              Candles 
##                  425                  417                   45 
##                Candy     Canned Anchovies         Canned Clams 
##                  352                   44                   53 
##       Canned Oysters      Canned Sardines        Canned Shrimp 
##                   35                   40                   38 
##          Canned Soup          Canned Tuna Carbonated Beverages 
##                  404                   87                  154 
##    Cleaning Supplies        Cold Remedies                Dairy 
##                  189                   93                  903 
##        Decongestants               Drinks                 Eggs 
##                   85                  135                  198 
##           Electrical      Frozen Desserts       Frozen Entrees 
##                  355                  323                  118 
##                Fruit             Hardware        Hot Beverages 
##                  765                  129                  226 
##              Hygiene     Jams and Jellies     Kitchen Products 
##                  197                  588                  217 
##            Magazines                 Meat        Miscellaneous 
##                  202                  761                   42 
##  Packaged Vegetables       Pain Relievers       Paper Products 
##                   48                  192                  345 
##                Pizza     Plastic Products Pure Juice Beverages 
##                  194                  141                  165 
##              Seafood          Side Dishes          Snack Foods 
##                  102                  153                 1600 
##            Specialty        Starchy Foods           Vegetables 
##                  289                  277                 1728

Vậy trong data này có 3.44% sản phẩm thuộc nhóm Baking Goods, 2.60% là Bathroom Products, và 2.53% là Beer and Wine.

Tiếp theo, Bread chiếm 3.02%, Breakfast Foods 2.97%, còn Candles chỉ chiếm 0.32%.

Các nhóm như Candy (2.50%), Canned Anchovies (0.31%), Canned Clams (0.38%), Canned Oysters (0.25%) và Canned Shrimp (0.27%) có tỷ lệ rất nhỏ.

Canned Soup chiếm 2.87%, cao hơn Canned Tuna (0.62%) và Carbonated Beverages (1.10%).

Cleaning Supplies có tỷ lệ 1.34%, Cold Remedies là 0.66%, trong khi Dairy là một trong các nhóm lớn với 6.42%.

Drinks chiếm 0.96%, còn Eggs là 1.41%.

Frozen Desserts (2.30%) và Frozen Entrees (0.84%) thấp hơn so với Fruit (5.44%) và Meat (5.41%).

Hot Beverages chiếm 1.61%, Hygiene 1.40%, Jams and Jellies 4.18%, và Kitchen Products 1.54%.

Các nhóm khác như Magazines (1.44%), Miscellaneous (0.30%) và Packaged Vegetables (0.34%) chiếm tỷ lệ khá nhỏ.

Paper Products có 2.45%, Pizza là 1.38%, và Snack Foods đứng đầu với 11.38%.

Cuối cùng, nhóm Vegetables chiếm tỷ lệ cao nhất với 12.29%, tiếp theo là Snack Foods, trong khi các nhóm nhỏ như Seafood (0.73%) và Side Dishes (1.09%) chỉ đóng góp một phần nhỏ trong tổng phân phối.

2.7 Mô tả biến Gender

Bảng tần suất

g1 <- table(d$Gender)/sum(nrow(d))
g1
## 
##         F         M 
## 0.5099936 0.4900064

Bảng tần số

g2<-table(d$Gender)
g2
## 
##    F    M 
## 7170 6889

Vậy trong data này có 50.9993598% là nữ 51.1629561% là nam

Biểu đồ

# Vẽ biểu đồ tròn
pie(g2 ,
    main   = "Phân bố sở hữu nhà",
    labels = paste0(names(g2),
                    " (", round(g1 *100, 1), "%)"),
    col    = c("blue", "red"))

2.9 Mô tả biến Homeowner

Bảng tần suất

H1 <- table(d$Homeowner)/sum(nrow(d))
H1
## 
##         N         Y 
## 0.3993883 0.6006117

Bảng tần số

H2<-table(d$Homeowner)
H2
## 
##    N    Y 
## 5615 8444

Vậy trong data này có 39.9388292% đã có nhà và 60.0611708% chưa có nhà

Biểu đồ

# Vẽ biểu đồ tròn
pie(H2 ,
    main   = "Phân bố sở hữu nhà",
    labels = paste0(names(H2),
                    " (", round(H1 *100, 1), "%)"),
    col    = c("blue", "red"))