R语言图解“等额本金与等额本息”

相关代码:

#输入数据
B <- 1000000
R <- 0.06/12           # 月利率
t <- 15*12
N <- 1:t

#等额本金
MBA <- B/t
MYA <- B - MBA*(N-1)
MIA <- MYA*R
MPA <- MIA + MBA

# 等额本息
MPB <- B*R*(1+R)^t / ((1+R)^t-1)   # 每月应还的等额本息,包含月还利息和月还本金
MYBF <- function(n)      # 如何将利息与本金分离出来
{
  # 可知,MYB(n)为第n个月后剩余的欠银行的钱,即第n个月的剩余本金(n=1,2,3..)
  # 那么MYB(N),N=0,1,2,...,且MYB(N)*r就是第N+1个月的利息
  MYB <- B*(1+R)^n - MPB*((1+R)^n-1)/R 
  return(MYB)
}
MYB <- MYBF(N-1)         # 让时间从0,1,2,3...到n-1结束
MIB <- MYB * R           # 月还利息
MBB <- MPB - MIB         # 月还本金

#开始画图展示
par(mfcol=c(2,2), oma = c(0, 0, 3, 0))
plot(MIA,col='red',pch=19)
points(MIB,col='blue',pch=19)
title('月还利息对比')
plot(rep(MBA,t),col='red',pch=19)
points(MBB,col='blue',pch=19)
title('月还本金对比')
plot(MPA,col='red',pch=19)
points(rep(MPB,t),col='blue',pch=19)
title('月还本息对比')
# plot(rep(sum(MPA),t),col='red',pch=19)
# points(rep(MPB*t,t),col='blue',pch=19)
x <- c(sum(MPA),MPB*t)
barplot(x,col=c(2,4),ylim = c(0,2000000),names.arg =c('等额本金','等额本息') )
title('总还款额对比')
mtext("(红色:等额本金)(蓝色:等额本息)",cex=1.5,side = 3, line = 0, outer = T)

相关图像:

R语言图解“等额本金与等额本息”_第1张图片

——Written in BTBU

你可能感兴趣的:(R语言基础汇编)