R/tidyPpi.R

Defines functions tidyPpi

#' PPI check
#'
#' @description Determine wether application includes PPI or not and re-label ppi type indicators
#' @param df The name of the dataframe you want to manipulate
#' @return datatframe, tibble
#' @keywords applicants
#' @import dplyr, forcats
#' @export
#' @examples tidyPpi(df = df)

tidyPpi <- function(df) {

  df <- df %>%
    dplyr::mutate(rsv = dplyr::if_else(rsv_as1_leben == TRUE |
                                         rsv_as1_arbeitslosigkeit == TRUE |
                                         rsv_as1_arbeitsunfaehigkeit == TRUE |
                                         rsv_as2_leben == TRUE |
                                         rsv_as2_arbeitslosigkeit == TRUE |
                                         rsv_as2_arbeitsunfaehigkeit == TRUE,
                                       1, 0),
                  rsv = as.factor(dplyr::if_else(is.na(rsv), 0, 1))) %>%
    dplyr::mutate_at(.vars = vars(rsv_as1_leben,
                                  rsv_as1_arbeitslosigkeit,
                                  rsv_as1_arbeitsunfaehigkeit,
                                  rsv_as2_leben,
                                  rsv_as2_arbeitslosigkeit,
                                  rsv_as2_arbeitsunfaehigkeit),
                     .funs = as.factor) %>%
    # re-label factor lavels
    mutate(rsv_as1_leben = forcats::fct_recode(rsv_as1_leben,
                                               'Ja' = 'TRUE',
                                               'Nein' = 'FALSE'),
           rsv_as1_arbeitslosigkeit = forcats::fct_recode(rsv_as1_arbeitslosigkeit,
                                                 'Ja' = 'TRUE',
                                                 'Nein' = 'FALSE'),
           rsv_as1_arbeitsunfaehigkeit = forcats::fct_recode(rsv_as1_arbeitsunfaehigkeit,
                                                             'Ja' = 'TRUE',
                                                             'Nein' = 'FALSE'),
           rsv_as2_leben = forcats::fct_recode(rsv_as2_leben,
                                               'Ja' = 'TRUE',
                                               'Nein' = 'FALSE'),
           rsv_as2_arbeitslosigkeit = forcats::fct_recode(rsv_as2_arbeitslosigkeit,
                                                          'Ja' = 'TRUE',
                                                          'Nein' = 'FALSE'),
           rsv_as2_arbeitsunfaehigkeit = forcats::fct_recode(rsv_as2_arbeitsunfaehigkeit,
                                                             'Ja' = 'TRUE',
                                                             'Nein' = 'FALSE')
    )

  return(df)
}
europace-privatkredit/tidyPkuData documentation built on Oct. 2, 2019, 3 a.m.