一、案例定位

原書 Analysis Case 3.4 以 SBA 小企業貸款資料為例,示範當資料量較大、不適合完全依賴 Excel 人工整理時,如何使用 R 建立衍生欄位、處理日期,並把貸款狀態轉成可直接分析的二元變數。

二、學習目標

三、案例情境

SBA 貸款資料規模較大,因此原書改用 RStudio 進行資料塑形。目標不是修改原始資料,而是在新的分析資料中新增可直接支援後續統計問題的欄位,例如核准年份、還款期間、是否已放款、是否已還清。

四、開始資料

原始欄位 衍生欄位 目的
ApprovalDate ApprovalYear 取得每筆貸款的核准年份
ApprovalDate • PaidInFullDate PaidInFullPeriod 計算貸款從核准到還清的月份數
LoanStatus FUNDED 判斷貸款是否曾經放款
LoanStatus PAIDOFF 判斷貸款是否已全額還清

五、Excel/R/AI 分析方法

原書使用下列 R 程式邏輯:

SBALaons$ApprovalYear <- as.numeric(format(SBALaons$ApprovalDate, "%Y"))
install.packages("lubridate")
library(lubridate)
SBALaons$PaidInFullPeriod <- interval(SBALaons$ApprovalDate, SBALaons$PaidInFullDate) %/% months(1)

接著以 dplyr 與 case_when() 重新編碼貸款狀態:

這些欄位把原本不方便直接計算的文字狀態,轉成可以用於後續統計分析的變數。

六、計算結果

新欄位 原書轉換規則
ApprovalYear format(ApprovalDate, "%Y") → 數值年份
PaidInFullPeriod interval(ApprovalDate, PaidInFullDate) %/% months(1) → 還款期間月數
FUNDED NOT FUNDED=0;PIF/CHGOFF=1;其他=空白
PAIDOFF CHGOFF=0;PIF=1;其他=空白