# Đọc dữ liệu
data <- read.csv("dataFOR_I_am_atomic.csv", sep = ";")

# Thư viện
library(dplyr)

# 1. Thông tin cơ bản
cat("Tổng số khách hàng:", nrow(data), "\n")
## Tổng số khách hàng: 307511
cat("Tỷ lệ khó khăn trả nợ:", round(mean(data$TARGET, na.rm = TRUE)*100, 1), "%\n\n")
## Tỷ lệ khó khăn trả nợ: 8.1 %
# 2. Kiểm tra và sửa lỗi dữ liệu
# Chuyển đổi cột số sang dạng số
data$AMT_INCOME_TOTAL <- as.numeric(data$AMT_INCOME_TOTAL)
data$AMT_CREDIT <- as.numeric(data$AMT_CREDIT)

# 3. Phân tích đơn giản
# Biến mục tiêu
cat("Phân phối trả nợ:\n")
## Phân phối trả nợ:
print(table(data$TARGET))
## 
##      0      1 
## 282686  24825
cat("\n")
# Thu nhập cơ bản
cat("Thống kê thu nhập:\n")
## Thống kê thu nhập:
print(summary(data$AMT_INCOME_TOTAL))
##      Min.   1st Qu.    Median      Mean   3rd Qu.      Max.      NA's 
##     25650    112500    147150    168798    202500 117000000         9
cat("\n")
# Số tiền vay cơ bản  
cat("Thống kê số tiền vay:\n")
## Thống kê số tiền vay:
print(summary(data$AMT_CREDIT))
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   45000  270000  513531  599026  808650 4050000
cat("\n")
# 4. Phân tích theo giới tính
cat("Tỷ lệ khó khăn theo giới tính:\n")
## Tỷ lệ khó khăn theo giới tính:
gender_analysis <- data %>%
  group_by(CODE_GENDER) %>%
  summarise(
    Số_khách = n(),
    Tỷ_lệ_khó_khăn = round(mean(TARGET, na.rm = TRUE)*100, 1)
  )
print(gender_analysis)
## # A tibble: 3 × 3
##   CODE_GENDER Số_khách Tỷ_lệ_khó_khăn
##   <chr>          <int>          <dbl>
## 1 F             202448            7  
## 2 M             105059           10.1
## 3 XNA                4            0
cat("\n")
# 5. Phân tích theo trình độ học vấn
cat("Tỷ lệ khó khăn theo trình độ học vấn:\n")
## Tỷ lệ khó khăn theo trình độ học vấn:
edu_analysis <- data %>%
  group_by(NAME_EDUCATION_TYPE) %>%
  summarise(
    Số_khách = n(),
    Tỷ_lệ_khó_khăn = round(mean(TARGET, na.rm = TRUE)*100, 1)
  ) %>%
  arrange(Tỷ_lệ_khó_khăn)
print(edu_analysis)
## # A tibble: 5 × 3
##   NAME_EDUCATION_TYPE           Số_khách Tỷ_lệ_khó_khăn
##   <chr>                            <int>          <dbl>
## 1 Academic degree                    164            1.8
## 2 Higher education                 74863            5.4
## 3 Incomplete higher                10277            8.5
## 4 Secondary / secondary special   218391            8.9
## 5 Lower secondary                   3816           10.9
# 6. Biểu đồ đơn giản (nếu muốn thêm)
# Biểu đồ tỷ lệ trả nợ
barplot(table(data$TARGET), 
        main = "Phân phối trả nợ",
        names.arg = c("Trả tốt", "Khó khăn"),
        col = c("green", "red"),
        ylab = "Số lượng khách hàng")