R/col_fact.R

Defines functions col_fact

Documented in col_fact

#' Formatting multiple columns as factor
#'
#' Depending on dply's contains()-function.
#' @param string Columnnames containg strings.
#' @param data Dataframe
#' @param levels Levels for all selected columns
#' @param labels labels for all selected columns
#' @keywords factor
#' @export

col_fact<-function(string,data,levels=NULL,labels=NULL){
## Defining factors for columns containing string (can be vector of multiple strings), based on dplyr.
## Factoring several columns with same levels or labels, these can be provided.

  require(dplyr)
  d<-data
  s<-string
  n<-c()

  for(i in 1:length(s)){
  n<-c(n,names(dplyr::select(d,dplyr::contains(s[i]))))
  }

  if (!is.null(levels)){
    for(i in 1:length(n)) {
    d[,n[i]]<-factor(d[,n[i]],levels=levels)}}

    if (!is.null(labels)){
      for(i in 1:length(n)) {
        d[,n[i]]<-factor(d[,n[i]],labels=labels)
  }}
      else
        for(i in 1:length(n)) {
          d[,n[i]]<-factor(d[,n[i]])}

  return(d)
}
agdamsbo/daDoctoR documentation built on Aug. 30, 2022, 4:29 p.m.