#' 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
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.