R/factor_mut.R

Defines functions mut_bin

Documented in mut_bin

#' Create Binary Factors
#'
#' Take a vector of data frame columns which only have two values and convert
#' them into binary factors with common labels and levels
#'
#' @param df a dataframe
#' @param vec a vector of columns to convert to binary factors such as c(1, 5, 8)
#' @param labels desired labels
#' @param levels desired levels
#'
#' @return a data frame with columns from vec converted to binary factors
#' @export
#'
#' @examples
#' Saturday_Money <-sample(0:1,20,replace=TRUE)
#' Sunday_Money   <-sample(1:2,20,replace=TRUE)
#' Sat_Work       <-sample(c("Play", "Work"), 20, replace=TRUE)
#' Sun_Work       <-sample(c("Play", "Work"), 20, replace=TRUE)
#' df1<-data.frame(Saturday_Money, Sat_Work, Sunday_Money, Sun_Work)

#' df1_fact <- mut_bin(df1, vec = c(1, 2,3,4))
#' df1_fact
mut_bin <- function(df, vec, labels = c("No", "Yes"), levels = c("0", "1")){

  for (i in vec){
      temp_min <- min(df[[i]])
      df[[i]] <- ifelse(df[[i]] == temp_min, 0, 1)
    df[[i]] <- factor(df[[i]], labels = labels, levels = levels)
  }
  df
}
mncube/infact documentation built on Dec. 21, 2021, 8:07 p.m.