Ich muss eine Amortisationsrechnung in R erstellen. Die Berechnung für die erste Zeile funktioniert gut, aber alle nachfolgenden Berechnungen müssen Werte verwenden, die entweder berechnet oder in der ersten Zeile und ich kann nicht Holen Sie sich die Schleife zur Arbeit.r Schleife anwenden, um Amortisationszeitplan zu erstellen
df <- data.frame(
LoanID = c("LN-000249", "LN-000249", "LN-000249", "LN-000249"),
apply_date = c("2015-07-30 UTC", "2015-09-03 UTC", "2015-11-09 UTC", "2015-11-18 UTC"),
pmt_amt = c(17292.45, 17153.90, 18100.00, 107.23),
rows = c(1, 2, 3, 4),
calc_days = c(41, 35, 67, 9)
)
Say das Darlehen bei 50000 und der Zinssatz war .08 Prozent
ln_amt = 50000
ln_interest_rate = .08
Berechnungen für die erste Reihe geschätzt wird
df$interestAmt <- ln_amt * ln_interest_rate/360 * df$calc_days
df$principalAmt <- df$pmt_amt - df$interestAmt
df$balance <- ln_amt - df$principalAmt
Berechnungen für alle anderen Zeilen
df$interestAmt <- (new balance found in previous row or current balance calculation value) * ln_interest_rate/360 * df$calc_days
df$principalAmt <- df$pmt_amt - df$interestAmt
df$balance <- (new balance found in previous row) - df$principalAmt
# or it is equal to the (ln_amt - cumsum(df$principalAmt))
Ich muss herausfinden, wie Sie die Berechnungen für alle Zeilen und nicht nur für die erste Zeile ausführen und einen Datenrahmen erstellen. Ich muss die Amortisationsberechnungen basierend auf dem aktuellen Saldo und den Berechnungstagen und der tatsächlich geleisteten Zahlung und nicht mit einem berechneten Zahlungswert durchführen. Daher kann ich keine Formel verwenden, um diese Werte zu erhalten. Ich kann nicht scheinen, die Werte für interestAmt oder Balance in den Zeilen 2-4 zu korrigieren.
ich den Ansatz gefällt, aber die Berechnungen, die es erzeugt, sind nicht korrekt. Der Saldo wird nicht korrekt berechnet und daher wird der interestAmt nicht korrekt berechnet. Ich werde versuchen, Ihren Ansatz zu verwenden und zu sehen, ob ich die Berechnungen richtig machen kann. Ja, Sie haben recht, die Datensätze sind klein. Ich weiß, wie man das in SAS macht. Ich kann einfach die Reihenfolge der Berechnungen in R. Ugh nicht herausfinden! –
Wenn Sie erklärt haben, was Sie mit _new Gleichgewicht in der vorherigen Zeile oder aktuellen Balance-Berechnung Wert_ bedeuten, könnte die Lösung genauer gewesen sein. Ein reproduzierbares Beispiel hilft immer –