options(width=200) library('FinancialMath') df=read.csv('loanbook.csv', header=TRUE) df$Balance=gsub("£", "", paste(df$Balance)) df$Balance=gsub(",", "", paste(df$Balance)) df$Balance=as.numeric(df$Balance) df$Balance.at.Start=gsub("£", "", paste(df$Balance.at.Start)) df$Balance.at.Start=gsub(",", "", paste(df$Balance.at.Start)) df$Balance.at.Start=as.numeric(df$Balance.at.Start) df$Rate=gsub("%", "", paste(df$Rate)) df$Rate=as.numeric(df$Rate) df=df[!grepl("bond", df$Loan.Type),] df=df[!grepl("revenue", df$Loan.Type),] df=df[!grepl("In Default", df$Status),] df=df[!grepl("Repaid", df$Status),] df=df[!grepl("Recovered", df$Status),] df=df[!grepl("Arrangement", df$Status),] df["int"] = " " for (i in c(1:length(df[,1]))){ df[i,]$int = as.numeric(paste( unlist(amort.table(Loan=df[i,]$Balance.at.Start,n=df[i,]$Remaining.repayments,i=((df[i,]$Rate/100)/12))[2]))[3]) } df$ratio=df$Balance.at.Start/as.numeric(df$int) df=df[order(df$Balance.at.Start, decreasing = FALSE), ] df$Balance.at.Start=signif(df$Balance.at.Start, digits=3) df sum(as.numeric(df$int))