# Đọ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")
