R/mmf.df.infr.R

Defines functions mmf.df.infr

Documented in mmf.df.infr

#' Generates a data frame with Schedule, NPV, Breakeven and Self Funding
#' @name mmf.df.infr
#' @param mmf.sched A list of schedules
#' @param mmf.npv A list of NPV values
#' @param mmf.npv.selffunding A list of Selffunding times
#' @param mmf.npv.breakeven A list of Breakeven times
#' @export
#' @examples
#'
#' data("ex.sheet.data")
#' ex.sheet.data.interest.rate <- ex.sheet.data[[1]]
#' ex.sheet.data.activities <- ex.sheet.data[[2]]
#' ex.sheet.data.durations <- ex.sheet.data[[3]]
#' ex.sheet.data.predecessors <- ex.sheet.data[[4]]
#' ex.sheet.data.cfs <- ex.sheet.data[[5]]
#'
#' ex.mmf.seq <- mmf.all.sequences(ex.sheet.data.predecessors)
#'
#' ex.mmf <- mmf.npv(ex.sheet.data.cfs,
#'                   ex.sheet.data.durations,
#'                   ex.mmf.seq,
#'                   ex.sheet.data.interest.rate)
#'
#' ex.mmf.schedules <- ex.mmf[['schedules']]
#' ex.mmf.cfs.stream <- ex.mmf[['cfs.stream']]
#' ex.mmf.cfs.nominal <- ex.mmf[['cfs.nominal']]
#' ex.mmf.cfs.discounted <- ex.mmf[['cfs.discounted']]
#' ex.mmf.npv <- ex.mmf[['npv']]
#'
#' ex.mmf.npv.selffunding <- mmf.get.selffunding(ex.mmf.cfs.discounted)
#' ex.mmf.npv.breakeven <- mmf.get.breakeven(ex.mmf.cfs.discounted)
#'
#' ex.mmf.df.infr <- mmf.df.infr(ex.mmf.schedules,
#'                           ex.mmf.npv,
#'                           ex.mmf.npv.selffunding,
#'                           ex.mmf.npv.breakeven)
#'
mmf.df.infr <- function(mmf.sched,
                        mmf.npv,
                        mmf.npv.selffunding,
                        mmf.npv.breakeven){

  all.sched <- list()
  for(i in mmf.sched) {
    all.sched <- c(all.sched, toString(i))
  }

  all.selffunding <- list()
  for (selffunding in mmf.npv.selffunding) {
    all.selffunding <- c(all.selffunding, toString(selffunding))
  }

  all.breakeven <- list()
  for (breakeven in mmf.npv.breakeven) {
    all.breakeven <- c(all.breakeven, toString(breakeven))
  }

  df <- data.frame(schedule=unlist(all.sched),
                   npv=unlist(mmf.npv),
                   selffunding=unlist(all.selffunding),
                   breakeven=unlist(all.breakeven))

  return(df)
}
antoanne/ifmFramework documentation built on Aug. 5, 2023, 6:03 p.m.