library(readxl)
df <- read_excel("Customer_Churn_dataset_for_Life_Insurance_Industry.xlsx")
dim(df)
## [1] 200000 12
names(df)
## [1] "Index" "Customer Name" "Customer_Address"
## [4] "Company Name" "Claim Reason" "Data confidentiality"
## [7] "Claim Amount" "Category Premium" "Premium/Amount Ratio"
## [10] "Claim Request output" "BMI" "Churn"
summary(df)
## Index Customer Name Customer_Address Company Name
## Min. : 0 Length:200000 Length:200000 Length:200000
## 1st Qu.: 50000 Class :character Class :character Class :character
## Median :100000 Mode :character Mode :character Mode :character
## Mean :100000
## 3rd Qu.:149999
## Max. :199999
## Claim Reason Data confidentiality Claim Amount Category Premium
## Length:200000 Length:200000 Min. : 1 Min. : 399
## Class :character Class :character 1st Qu.: 245 1st Qu.: 1875
## Mode :character Mode :character Median :1390 Median :14390
## Mean :1120 Mean : 8964
## 3rd Qu.:1844 3rd Qu.:14390
## Max. :2299 Max. :14390
## Premium/Amount Ratio Claim Request output BMI Churn
## Length:200000 Length:200000 Min. :18.00 Length:200000
## Class :character Class :character 1st Qu.:20.00 Class :character
## Mode :character Mode :character Median :23.00 Mode :character
## Mean :23.01
## 3rd Qu.:26.00
## Max. :28.00
colSums(is.na(df))
## Index Customer Name Customer_Address
## 0 0 0
## Company Name Claim Reason Data confidentiality
## 0 0 0
## Claim Amount Category Premium Premium/Amount Ratio
## 0 0 0
## Claim Request output BMI Churn
## 0 0 0
sum(duplicated(df))
## [1] 0
library(knitr)
variable_meaning <- data.frame(
Variable = c(
"Index",
"Customer_Name",
"Customer_Address",
"Company_Name",
"Claim_Reason",
"Data_confidentiality",
"Claim_Amount",
"Category_Premium",
"Premium_Amount_Ratio",
"Claim_Request_output",
"BMI",
"Churn"
),
Meaning = c(
"Số thứ tự của khách hàng trong bộ dữ liệu",
"Tên khách hàng",
"Địa chỉ khách hàng",
"Tên công ty bảo hiểm quản lý hợp đồng",
"Lý do khách hàng yêu cầu bồi thường",
"Mức độ bảo mật dữ liệu của khách hàng",
"Số tiền khách hàng yêu cầu bồi thường",
"Mức phí bảo hiểm của khách hàng",
"Tỷ lệ giữa phí bảo hiểm và số tiền yêu cầu bồi thường",
"Kết quả xử lý yêu cầu bồi thường ",
"Chỉ số khối cơ thể",
"Khách hàng có rời công ty bảo hiểm hay không"
)
)
variable_meaning
summary(df$'Claim Amount')
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 1 245 1390 1120 1844 2299
summary(df$BMI)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 18.00 20.00 23.00 23.01 26.00 28.00
summary(df$`Category Premium`)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 399 1875 14390 8964 14390 14390
summary(df$`Premium/Amount Ratio`)
## Length Class Mode
## 200000 character character
table(df$'Claim Reason')
##
## Medical Other Phone Travel
## 109863 30187 30016 29934
table(df$Churn)
##
## No Yes
## 72728 127272
table(df$`Data confidentiality`)
##
## High Low Medium Very low
## 109863 29934 30016 30187
table(df$`Claim Request output`)
##
## No Yes
## 192994 7006
table(df$Churn)
##
## No Yes
## 72728 127272
Đếm tần suất các giá trị của biến
data <- table(df$`Data confidentiality`)
data
##
## High Low Medium Very low
## 109863 29934 30016 30187
Tính tỷ lệ phần trăm
datap <- prop.table(data) * 100
datap
##
## High Low Medium Very low
## 54.9315 14.9670 15.0080 15.0935
Ghép thành bảng kết quả
bang_tansuat_DataConfidentiality <- data.frame(
Muc_do_bao_mat = names(data),
Tan_suat = as.numeric(data),
Ty_le = round(as.numeric(datap), 2)
)
bang_tansuat_DataConfidentiality