Welcome to R Square

等额本金和等额本息比较分析

楚新元 / 2022-12-11


提出需求

贷款 100 万,贷款利率为 6%(年利率),贷款期限 15 年。分别计算等额本金和等额本息两种还款方式下每月偿还本金、偿还利息、偿还本息、剩余本金。并对两种还款方式进行比较分析。

加载相关R包

library(ggplot2)
library(dplyr)
library(gt)

参数设置

# 设置贷款金额 value
value = 1000000

# 设置贷款利率 rate
rate = 0.06

# 设置贷款期限 term
term = 15

# 设置还款方式 mode
mode1 = "等额本金"
mode2 = "等额本息"

编写函数

repayment = function(value, rate, term, mode) {
  
  # 年利率换算为月利率
  rate_m = rate / 12
  # 还款期限换算成月
  t = term * 12
  # 生成还款期次向量
  N = 1:t  # 还款期次
  
  # 等额本金模式
  if (mode == "等额本金") {
    MBA = value / t  # 每月应还本金
    MYA = value - MBA * (N-1)  # 截至当月还款前贷款余额
    MYAA = value - MBA * N  # 还贷后剩余本金
    MIA = MYA * rate_m  # 当月应还利息
    MPA = MIA + MBA  # 当月应还本息和
    tbl = data.frame(N, MYA, MBA, MIA, MPA, MYAA, mode)
    colnames(tbl) = c(
      "还款期次", "贷款余额", "应还本金", 
      "应还利息", "应还本息", "剩余本金",
      "还款方式"
    )
  }
    
  # 等额本息模式
  if (mode == "等额本息") {
    # 每月应还的等额本息
    MPB = value * rate_m * (1 + rate_m)^t / ((1 + rate_m)^t - 1) 
    # 截至当月还款前贷款余额
    MYB = value *(1 + rate_m)^(N-1) - MPB * ((1 + rate_m)^(N-1) - 1) / rate_m
    MIB = MYB * rate_m  # 当月应还利息
    MBB = MPB - MIB  # 当月应还本金
    MYBB = MYB - MBB  # 剩余本金
    tbl = data.frame(N, MYB, MBB, MIB, MPB, MYBB, mode)
    colnames(tbl) = c(
      "还款期次", "贷款余额", "应还本金", 
      "应还利息", "应还本息", "剩余本金",
      "还款方式"
    )
  }
  
  # 返回生成的数据框
  return(tbl)

}

生成还款表验证函数

生成等额本金还款表

# 计算等额本金月供
df1 = repayment(
  value = value,
  rate = rate,
  term = term, 
  mode = mode1
)

# 生成还款表
df1[1:6] %>% 
  gt() %>% 
  tab_style(
    style = cell_text(size = px(12)),
    locations = list(
      cells_body(),
      cells_column_labels()
    )
  ) %>% 
  tab_style(
    style = cell_text(align = "center"),
    locations = cells_body(columns = 1)
  ) %>% 
  tab_style(
    style = cell_text(align = "right"),
    locations = cells_body(columns = -1)
  ) %>% 
  fmt_number(
    columns = -还款期次, 
    decimals = 2
  ) %>% 
  tab_style(
    style = cell_fill(color = "#f8f8f8"),
    locations = cells_body(
      rows = (还款期次 %% 2 == 0)
    )
  )
还款期次贷款余额应还本金应还利息应还本息剩余本金
11,000,000.005,555.565,000.0010,555.56994,444.44
2994,444.445,555.564,972.2210,527.78988,888.89
3988,888.895,555.564,944.4410,500.00983,333.33
4983,333.335,555.564,916.6710,472.22977,777.78
5977,777.785,555.564,888.8910,444.44972,222.22
6972,222.225,555.564,861.1110,416.67966,666.67
7966,666.675,555.564,833.3310,388.89961,111.11
8961,111.115,555.564,805.5610,361.11955,555.56
9955,555.565,555.564,777.7810,333.33950,000.00
10950,000.005,555.564,750.0010,305.56944,444.44
11944,444.445,555.564,722.2210,277.78938,888.89
12938,888.895,555.564,694.4410,250.00933,333.33
13933,333.335,555.564,666.6710,222.22927,777.78
14927,777.785,555.564,638.8910,194.44922,222.22
15922,222.225,555.564,611.1110,166.67916,666.67
16916,666.675,555.564,583.3310,138.89911,111.11
17911,111.115,555.564,555.5610,111.11905,555.56
18905,555.565,555.564,527.7810,083.33900,000.00
19900,000.005,555.564,500.0010,055.56894,444.44
20894,444.445,555.564,472.2210,027.78888,888.89
21888,888.895,555.564,444.4410,000.00883,333.33
22883,333.335,555.564,416.679,972.22877,777.78
23877,777.785,555.564,388.899,944.44872,222.22
24872,222.225,555.564,361.119,916.67866,666.67
25866,666.675,555.564,333.339,888.89861,111.11
26861,111.115,555.564,305.569,861.11855,555.56
27855,555.565,555.564,277.789,833.33850,000.00
28850,000.005,555.564,250.009,805.56844,444.44
29844,444.445,555.564,222.229,777.78838,888.89
30838,888.895,555.564,194.449,750.00833,333.33
31833,333.335,555.564,166.679,722.22827,777.78
32827,777.785,555.564,138.899,694.44822,222.22
33822,222.225,555.564,111.119,666.67816,666.67
34816,666.675,555.564,083.339,638.89811,111.11
35811,111.115,555.564,055.569,611.11805,555.56
36805,555.565,555.564,027.789,583.33800,000.00
37800,000.005,555.564,000.009,555.56794,444.44
38794,444.445,555.563,972.229,527.78788,888.89
39788,888.895,555.563,944.449,500.00783,333.33
40783,333.335,555.563,916.679,472.22777,777.78
41777,777.785,555.563,888.899,444.44772,222.22
42772,222.225,555.563,861.119,416.67766,666.67
43766,666.675,555.563,833.339,388.89761,111.11
44761,111.115,555.563,805.569,361.11755,555.56
45755,555.565,555.563,777.789,333.33750,000.00
46750,000.005,555.563,750.009,305.56744,444.44
47744,444.445,555.563,722.229,277.78738,888.89
48738,888.895,555.563,694.449,250.00733,333.33
49733,333.335,555.563,666.679,222.22727,777.78
50727,777.785,555.563,638.899,194.44722,222.22
51722,222.225,555.563,611.119,166.67716,666.67
52716,666.675,555.563,583.339,138.89711,111.11
53711,111.115,555.563,555.569,111.11705,555.56
54705,555.565,555.563,527.789,083.33700,000.00
55700,000.005,555.563,500.009,055.56694,444.44
56694,444.445,555.563,472.229,027.78688,888.89
57688,888.895,555.563,444.449,000.00683,333.33
58683,333.335,555.563,416.678,972.22677,777.78
59677,777.785,555.563,388.898,944.44672,222.22
60672,222.225,555.563,361.118,916.67666,666.67
61666,666.675,555.563,333.338,888.89661,111.11
62661,111.115,555.563,305.568,861.11655,555.56
63655,555.565,555.563,277.788,833.33650,000.00
64650,000.005,555.563,250.008,805.56644,444.44
65644,444.445,555.563,222.228,777.78638,888.89
66638,888.895,555.563,194.448,750.00633,333.33
67633,333.335,555.563,166.678,722.22627,777.78
68627,777.785,555.563,138.898,694.44622,222.22
69622,222.225,555.563,111.118,666.67616,666.67
70616,666.675,555.563,083.338,638.89611,111.11
71611,111.115,555.563,055.568,611.11605,555.56
72605,555.565,555.563,027.788,583.33600,000.00
73600,000.005,555.563,000.008,555.56594,444.44
74594,444.445,555.562,972.228,527.78588,888.89
75588,888.895,555.562,944.448,500.00583,333.33
76583,333.335,555.562,916.678,472.22577,777.78
77577,777.785,555.562,888.898,444.44572,222.22
78572,222.225,555.562,861.118,416.67566,666.67
79566,666.675,555.562,833.338,388.89561,111.11
80561,111.115,555.562,805.568,361.11555,555.56
81555,555.565,555.562,777.788,333.33550,000.00
82550,000.005,555.562,750.008,305.56544,444.44
83544,444.445,555.562,722.228,277.78538,888.89
84538,888.895,555.562,694.448,250.00533,333.33
85533,333.335,555.562,666.678,222.22527,777.78
86527,777.785,555.562,638.898,194.44522,222.22
87522,222.225,555.562,611.118,166.67516,666.67
88516,666.675,555.562,583.338,138.89511,111.11
89511,111.115,555.562,555.568,111.11505,555.56
90505,555.565,555.562,527.788,083.33500,000.00
91500,000.005,555.562,500.008,055.56494,444.44
92494,444.445,555.562,472.228,027.78488,888.89
93488,888.895,555.562,444.448,000.00483,333.33
94483,333.335,555.562,416.677,972.22477,777.78
95477,777.785,555.562,388.897,944.44472,222.22
96472,222.225,555.562,361.117,916.67466,666.67
97466,666.675,555.562,333.337,888.89461,111.11
98461,111.115,555.562,305.567,861.11455,555.56
99455,555.565,555.562,277.787,833.33450,000.00
100450,000.005,555.562,250.007,805.56444,444.44
101444,444.445,555.562,222.227,777.78438,888.89
102438,888.895,555.562,194.447,750.00433,333.33
103433,333.335,555.562,166.677,722.22427,777.78
104427,777.785,555.562,138.897,694.44422,222.22
105422,222.225,555.562,111.117,666.67416,666.67
106416,666.675,555.562,083.337,638.89411,111.11
107411,111.115,555.562,055.567,611.11405,555.56
108405,555.565,555.562,027.787,583.33400,000.00
109400,000.005,555.562,000.007,555.56394,444.44
110394,444.445,555.561,972.227,527.78388,888.89
111388,888.895,555.561,944.447,500.00383,333.33
112383,333.335,555.561,916.677,472.22377,777.78
113377,777.785,555.561,888.897,444.44372,222.22
114372,222.225,555.561,861.117,416.67366,666.67
115366,666.675,555.561,833.337,388.89361,111.11
116361,111.115,555.561,805.567,361.11355,555.56
117355,555.565,555.561,777.787,333.33350,000.00
118350,000.005,555.561,750.007,305.56344,444.44
119344,444.445,555.561,722.227,277.78338,888.89
120338,888.895,555.561,694.447,250.00333,333.33
121333,333.335,555.561,666.677,222.22327,777.78
122327,777.785,555.561,638.897,194.44322,222.22
123322,222.225,555.561,611.117,166.67316,666.67
124316,666.675,555.561,583.337,138.89311,111.11
125311,111.115,555.561,555.567,111.11305,555.56
126305,555.565,555.561,527.787,083.33300,000.00
127300,000.005,555.561,500.007,055.56294,444.44
128294,444.445,555.561,472.227,027.78288,888.89
129288,888.895,555.561,444.447,000.00283,333.33
130283,333.335,555.561,416.676,972.22277,777.78
131277,777.785,555.561,388.896,944.44272,222.22
132272,222.225,555.561,361.116,916.67266,666.67
133266,666.675,555.561,333.336,888.89261,111.11
134261,111.115,555.561,305.566,861.11255,555.56
135255,555.565,555.561,277.786,833.33250,000.00
136250,000.005,555.561,250.006,805.56244,444.44
137244,444.445,555.561,222.226,777.78238,888.89
138238,888.895,555.561,194.446,750.00233,333.33
139233,333.335,555.561,166.676,722.22227,777.78
140227,777.785,555.561,138.896,694.44222,222.22
141222,222.225,555.561,111.116,666.67216,666.67
142216,666.675,555.561,083.336,638.89211,111.11
143211,111.115,555.561,055.566,611.11205,555.56
144205,555.565,555.561,027.786,583.33200,000.00
145200,000.005,555.561,000.006,555.56194,444.44
146194,444.445,555.56972.226,527.78188,888.89
147188,888.895,555.56944.446,500.00183,333.33
148183,333.335,555.56916.676,472.22177,777.78
149177,777.785,555.56888.896,444.44172,222.22
150172,222.225,555.56861.116,416.67166,666.67
151166,666.675,555.56833.336,388.89161,111.11
152161,111.115,555.56805.566,361.11155,555.56
153155,555.565,555.56777.786,333.33150,000.00
154150,000.005,555.56750.006,305.56144,444.44
155144,444.445,555.56722.226,277.78138,888.89
156138,888.895,555.56694.446,250.00133,333.33
157133,333.335,555.56666.676,222.22127,777.78
158127,777.785,555.56638.896,194.44122,222.22
159122,222.225,555.56611.116,166.67116,666.67
160116,666.675,555.56583.336,138.89111,111.11
161111,111.115,555.56555.566,111.11105,555.56
162105,555.565,555.56527.786,083.33100,000.00
163100,000.005,555.56500.006,055.5694,444.44
16494,444.445,555.56472.226,027.7888,888.89
16588,888.895,555.56444.446,000.0083,333.33
16683,333.335,555.56416.675,972.2277,777.78
16777,777.785,555.56388.895,944.4472,222.22
16872,222.225,555.56361.115,916.6766,666.67
16966,666.675,555.56333.335,888.8961,111.11
17061,111.115,555.56305.565,861.1155,555.56
17155,555.565,555.56277.785,833.3350,000.00
17250,000.005,555.56250.005,805.5644,444.44
17344,444.445,555.56222.225,777.7838,888.89
17438,888.895,555.56194.445,750.0033,333.33
17533,333.335,555.56166.675,722.2227,777.78
17627,777.785,555.56138.895,694.4422,222.22
17722,222.225,555.56111.115,666.6716,666.67
17816,666.675,555.5683.335,638.8911,111.11
17911,111.115,555.5655.565,611.115,555.56
1805,555.565,555.5627.785,583.330.00

生成等额本息还款表

# 计算等额本息月供
df2 = repayment(
  value = value, 
  rate = rate, 
  term = term, 
  mode = mode2
)

# 生成还款表
df2[1:6] %>% 
  gt() %>% 
  tab_style(
    style = cell_text(size = px(12)),
    locations = list(
      cells_body(),
      cells_column_labels()
    )
  ) %>% 
  tab_style(
    style = cell_text(align = "center"),
    locations = cells_body(columns = 1)
  ) %>% 
  tab_style(
    style = cell_text(align = "right"),
    locations = cells_body(columns = -1)
  ) %>% 
  fmt_number(
    columns = -还款期次, 
    decimals = 2
  ) %>% 
  tab_style(
    style = cell_fill(color = "#f8f8f8"),
    locations = cells_body(
      rows = (还款期次 %% 2 == 0)
    )
  )
还款期次贷款余额应还本金应还利息应还本息剩余本金
11,000,000.003,438.575,000.008,438.57996,561.43
2996,561.433,455.764,982.818,438.57993,105.67
3993,105.673,473.044,965.538,438.57989,632.63
4989,632.633,490.414,948.168,438.57986,142.23
5986,142.233,507.864,930.718,438.57982,634.37
6982,634.373,525.404,913.178,438.57979,108.97
7979,108.973,543.024,895.548,438.57975,565.95
8975,565.953,560.744,877.838,438.57972,005.21
9972,005.213,578.544,860.038,438.57968,426.67
10968,426.673,596.434,842.138,438.57964,830.23
11964,830.233,614.424,824.158,438.57961,215.82
12961,215.823,632.494,806.088,438.57957,583.33
13957,583.333,650.654,787.928,438.57953,932.67
14953,932.673,668.904,769.668,438.57950,263.77
15950,263.773,687.254,751.328,438.57946,576.52
16946,576.523,705.694,732.888,438.57942,870.83
17942,870.833,724.214,714.358,438.57939,146.62
18939,146.623,742.844,695.738,438.57935,403.79
19935,403.793,761.554,677.028,438.57931,642.24
20931,642.243,780.364,658.218,438.57927,861.88
21927,861.883,799.264,639.318,438.57924,062.62
22924,062.623,818.264,620.318,438.57920,244.37
23920,244.373,837.354,601.228,438.57916,407.02
24916,407.023,856.534,582.048,438.57912,550.49
25912,550.493,875.824,562.758,438.57908,674.67
26908,674.673,895.194,543.378,438.57904,779.47
27904,779.473,914.674,523.908,438.57900,864.80
28900,864.803,934.244,504.328,438.57896,930.56
29896,930.563,953.924,484.658,438.57892,976.64
30892,976.643,973.694,464.888,438.57889,002.96
31889,002.963,993.554,445.018,438.57885,009.41
32885,009.414,013.524,425.058,438.57880,995.88
33880,995.884,033.594,404.988,438.57876,962.30
34876,962.304,053.764,384.818,438.57872,908.54
35872,908.544,074.034,364.548,438.57868,834.51
36868,834.514,094.404,344.178,438.57864,740.12
37864,740.124,114.874,323.708,438.57860,625.25
38860,625.254,135.444,303.138,438.57856,489.81
39856,489.814,156.124,282.458,438.57852,333.69
40852,333.694,176.904,261.678,438.57848,156.79
41848,156.794,197.784,240.788,438.57843,959.00
42843,959.004,218.774,219.808,438.57839,740.23
43839,740.234,239.874,198.708,438.57835,500.36
44835,500.364,261.074,177.508,438.57831,239.30
45831,239.304,282.374,156.208,438.57826,956.93
46826,956.934,303.784,134.788,438.57822,653.14
47822,653.144,325.304,113.278,438.57818,327.84
48818,327.844,346.934,091.648,438.57813,980.91
49813,980.914,368.664,069.908,438.57809,612.25
50809,612.254,390.514,048.068,438.57805,221.74
51805,221.744,412.464,026.118,438.57800,809.28
52800,809.284,434.524,004.058,438.57796,374.76
53796,374.764,456.693,981.878,438.57791,918.06
54791,918.064,478.983,959.598,438.57787,439.09
55787,439.094,501.373,937.208,438.57782,937.71
56782,937.714,523.883,914.698,438.57778,413.83
57778,413.834,546.503,892.078,438.57773,867.33
58773,867.334,569.233,869.348,438.57769,298.10
59769,298.104,592.083,846.498,438.57764,706.02
60764,706.024,615.043,823.538,438.57760,090.99
61760,090.994,638.113,800.458,438.57755,452.87
62755,452.874,661.303,777.268,438.57750,791.57
63750,791.574,684.613,753.968,438.57746,106.96
64746,106.964,708.033,730.538,438.57741,398.92
65741,398.924,731.573,706.998,438.57736,667.35
66736,667.354,755.233,683.348,438.57731,912.12
67731,912.124,779.013,659.568,438.57727,133.11
68727,133.114,802.903,635.678,438.57722,330.21
69722,330.214,826.923,611.658,438.57717,503.29
70717,503.294,851.053,587.528,438.57712,652.24
71712,652.244,875.313,563.268,438.57707,776.93
72707,776.934,899.683,538.888,438.57702,877.25
73702,877.254,924.183,514.398,438.57697,953.07
74697,953.074,948.803,489.778,438.57693,004.26
75693,004.264,973.553,465.028,438.57688,030.72
76688,030.724,998.413,440.158,438.57683,032.30
77683,032.305,023.413,415.168,438.57678,008.90
78678,008.905,048.523,390.048,438.57672,960.37
79672,960.375,073.773,364.808,438.57667,886.61
80667,886.615,099.143,339.438,438.57662,787.47
81662,787.475,124.633,313.948,438.57657,662.84
82657,662.845,150.253,288.318,438.57652,512.59
83652,512.595,176.013,262.568,438.57647,336.58
84647,336.585,201.893,236.688,438.57642,134.70
85642,134.705,227.893,210.678,438.57636,906.80
86636,906.805,254.033,184.538,438.57631,652.77
87631,652.775,280.303,158.268,438.57626,372.46
88626,372.465,306.713,131.868,438.57621,065.76
89621,065.765,333.243,105.338,438.57615,732.52
90615,732.525,359.913,078.668,438.57610,372.61
91610,372.615,386.713,051.868,438.57604,985.91
92604,985.915,413.643,024.938,438.57599,572.27
93599,572.275,440.712,997.868,438.57594,131.56
94594,131.565,467.912,970.668,438.57588,663.65
95588,663.655,495.252,943.328,438.57583,168.40
96583,168.405,522.732,915.848,438.57577,645.67
97577,645.675,550.342,888.238,438.57572,095.33
98572,095.335,578.092,860.488,438.57566,517.24
99566,517.245,605.982,832.598,438.57560,911.26
100560,911.265,634.012,804.568,438.57555,277.25
101555,277.255,662.182,776.398,438.57549,615.06
102549,615.065,690.492,748.088,438.57543,924.57
103543,924.575,718.952,719.628,438.57538,205.63
104538,205.635,747.542,691.038,438.57532,458.09
105532,458.095,776.282,662.298,438.57526,681.81
106526,681.815,805.162,633.418,438.57520,876.65
107520,876.655,834.192,604.388,438.57515,042.46
108515,042.465,863.362,575.218,438.57509,179.11
109509,179.115,892.672,545.908,438.57503,286.44
110503,286.445,922.142,516.438,438.57497,364.30
111497,364.305,951.752,486.828,438.57491,412.55
112491,412.555,981.512,457.068,438.57485,431.05
113485,431.056,011.412,427.168,438.57479,419.63
114479,419.636,041.472,397.108,438.57473,378.16
115473,378.166,071.682,366.898,438.57467,306.49
116467,306.496,102.042,336.538,438.57461,204.45
117461,204.456,132.552,306.028,438.57455,071.90
118455,071.906,163.212,275.368,438.57448,908.70
119448,908.706,194.022,244.548,438.57442,714.67
120442,714.676,224.992,213.578,438.57436,489.68
121436,489.686,256.122,182.458,438.57430,233.56
122430,233.566,287.402,151.178,438.57423,946.16
123423,946.166,318.842,119.738,438.57417,627.32
124417,627.326,350.432,088.148,438.57411,276.89
125411,276.896,382.182,056.388,438.57404,894.70
126404,894.706,414.092,024.478,438.57398,480.61
127398,480.616,446.171,992.408,438.57392,034.44
128392,034.446,478.401,960.178,438.57385,556.05
129385,556.056,510.791,927.788,438.57379,045.26
130379,045.266,543.341,895.238,438.57372,501.92
131372,501.926,576.061,862.518,438.57365,925.86
132365,925.866,608.941,829.638,438.57359,316.92
133359,316.926,641.981,796.588,438.57352,674.94
134352,674.946,675.191,763.378,438.57345,999.74
135345,999.746,708.571,730.008,438.57339,291.17
136339,291.176,742.111,696.468,438.57332,549.06
137332,549.066,775.821,662.758,438.57325,773.24
138325,773.246,809.701,628.878,438.57318,963.53
139318,963.536,843.751,594.828,438.57312,119.78
140312,119.786,877.971,560.608,438.57305,241.81
141305,241.816,912.361,526.218,438.57298,329.46
142298,329.466,946.921,491.658,438.57291,382.53
143291,382.536,981.661,456.918,438.57284,400.88
144284,400.887,016.561,422.008,438.57277,384.31
145277,384.317,051.651,386.928,438.57270,332.67
146270,332.677,086.901,351.668,438.57263,245.76
147263,245.767,122.341,316.238,438.57256,123.42
148256,123.427,157.951,280.628,438.57248,965.47
149248,965.477,193.741,244.838,438.57241,771.73
150241,771.737,229.711,208.868,438.57234,542.02
151234,542.027,265.861,172.718,438.57227,276.16
152227,276.167,302.191,136.388,438.57219,973.98
153219,973.987,338.701,099.878,438.57212,635.28
154212,635.287,375.391,063.188,438.57205,259.89
155205,259.897,412.271,026.308,438.57197,847.62
156197,847.627,449.33989.248,438.57190,398.29
157190,398.297,486.58951.998,438.57182,911.71
158182,911.717,524.01914.568,438.57175,387.70
159175,387.707,561.63876.948,438.57167,826.07
160167,826.077,599.44839.138,438.57160,226.63
161160,226.637,637.44801.138,438.57152,589.20
162152,589.207,675.62762.958,438.57144,913.58
163144,913.587,714.00724.578,438.57137,199.58
164137,199.587,752.57686.008,438.57129,447.00
165129,447.007,791.33647.248,438.57121,655.67
166121,655.677,830.29608.288,438.57113,825.38
167113,825.387,869.44569.138,438.57105,955.94
168105,955.947,908.79529.788,438.5798,047.15
16998,047.157,948.33490.248,438.5790,098.82
17090,098.827,988.07450.498,438.5782,110.74
17182,110.748,028.01410.558,438.5774,082.73
17274,082.738,068.15370.418,438.5766,014.58
17366,014.588,108.50330.078,438.5757,906.08
17457,906.088,149.04289.538,438.5749,757.04
17549,757.048,189.78248.798,438.5741,567.26
17641,567.268,230.73207.848,438.5733,336.53
17733,336.538,271.89166.688,438.5725,064.64
17825,064.648,313.25125.328,438.5716,751.40
17916,751.408,354.8183.768,438.578,396.59
1808,396.598,396.5941.988,438.570.00

两种还款方式比较分析

月还款利息对比

df = rbind(df1, df2)
df %>% 
  ggplot(aes(`还款期次`, `应还利息`, color = `还款方式`)) + 
  geom_line(linewidth = 0.8) + 
  theme(
    legend.title = element_blank(),
    legend.position = "inside",
    legend.position.inside = c(0.89, 0.87)
  )

从上图我们可以可以清洗地发现:等额本金累计还利息比等额本息方式少。 统计结果显示: 等额本金累计还利息452500.00元, 等额本息累计还利息518942.29元, 两者相差66442.29元。

月还本息对比

df %>% 
  ggplot(aes(`还款期次`, `应还本息`, color = `还款方式`)) + 
  geom_line(linewidth = 0.8) + 
  theme(
    legend.title = element_blank(),
    legend.position = "inside",
    legend.position.inside = c(0.89, 0.87)
  )

从图上可以看出,等额本金还款模式前期还款压力较大,后期还款压力逐渐递减,等额本息模式每期还款压力不变。

红线与坐标轴围成的面积即为等额本金下还款总额。同理,蓝线与坐标轴围成的面积即为等额本息下还款总额;很明显蓝线围成的面积更大,即等额本息还款总额较多。

还款总额对比

df %>% 
  group_by(`还款方式`) %>% 
  summarise(`还款总额` = round(sum(`应还本息`), 2)) %>% 
  ggplot(aes(`还款方式`, `还款总额`, fill = `还款方式`)) + 
  geom_bar(stat = "identity") + 
  geom_text(aes(label = `还款总额`), vjust = -0.3) + 
  xlab("")  + 
  guides(fill = "none")

从总还款额同样也能清晰地看出等额本金累计还利息比等额本息方式少。