假设我每个月在银行存入1000(P)美元,持续60(n)个月,银行每月支付1(利率)百分比作为利息。因此,我可以计算每笔存款的利息:
P=1000
n=60
rate=1
P*(rate/100)*(n:1)
[1] 600 590 580 570 560 550 540 530 520 510 500 490 480 470 460 450 440 430 420 410 400 390 380 370 360 350 340 330 320 310 300
[32] 290 280 270 260 250 240 230 220 210 200 190 180 170 160 150 140 130 120 110 100 90 80 70 60 50 40 30 20 10
和总利息(totalInt)为
totalInt = sum(P*(rate/100)*(n:1))
totalInt
[1] 18300
我如何计算'率'如果我知道P,n和totalInt?我尝试了下面的公式,但它产生了一系列没有意义的值:
rate = totalInt * 100 / (P*(n:1))
> rate
[1] 30.50000 31.01695 31.55172 32.10526 32.67857 33.27273 33.88889 34.52830 35.19231 35.88235 36.60000
[12] 37.34694 38.12500 38.93617 39.78261 40.66667 41.59091 42.55814 43.57143 44.63415 45.75000 46.92308
[23] 48.15789 49.45946 50.83333 52.28571 53.82353 55.45455 57.18750 59.03226 61.00000 63.10345 65.35714
[34] 67.77778 70.38462 73.20000 76.25000 79.56522 83.18182 87.14286 91.50000 96.31579 101.66667 107.64706
[45] 114.37500 122.00000 130.71429 140.76923 152.50000 166.36364 183.00000 203.33333 228.75000 261.42857 305.00000
[56] 366.00000 457.50000 610.00000 915.00000 1830.00000
>
mean(rate)
[1] 142.736
平均值也太高,没有意义。
答案 0 :(得分:3)
你似乎是R的新手,所以这里有几种方法可以做到这一点。
如果这是另一种编程语言,您可以通过这种方式计算复合兴趣:
# approach using loops - very inefficient in R
totalInt <- 0
prin <- P
for (i in 1:n) {
totalInt <- totalInt + prin*rate/100
prin <- prin * (1+rate/100)
}
totalInt
# [1] 816.6967
由于R是矢量化语言,因此这是R的首选方法。
# vectorized approach - very efficient in R
prin <- P * (1+rate/100)^(0:(n-1))
int <- prin * rate/100
totalInt <- sum(int)
totalInt
# [1] 816.6967
此代码在每个句点的开头创建一个带有原则的向量prin
,然后创建一个包含该时段内获得的兴趣的向量int
。以下方法是同一事物的更紧凑版本。
# vectorized approach simplified
P * sum((1+rate/100)^(0:(n-1))*rate/100)
# [1] 816.6967
所以反过来,例如计算给定P,n和totalInt的比率,我们使用应用于函数uniroot(...)
的{{1}}函数,如下所示。阅读f(...)
上的文档。
uniroot(...)
答案 1 :(得分:1)
为清楚起见,我们添加一个变量:fracRate = rate/100
自totalInt = sum(P*fracRate*(n:1))
后totalInt = P*fracRate*(n+1)*n/2
。
现在我们可以重新排列以获得fracRate = 2*totalInt /(P*(n+1)*n)
。您可以使用rate = 100*fracRate
计算百分比率。
计算并不是R特定的,所以也许您应该尝试询问Math@SE,其中答案还可以包括更好的LaTeX等式格式。
您的计算方法假设银行仅计算本金的利息。实际上,兴趣通常是复杂的。