R/add_rows.R

Defines functions add_rows

Documented in add_rows

#' Function for creating adding rows to dataset
#'
#' This function allows you to add to a dataset the rows of a second dataset
#' @param dataset_1 The dataframe that you append to
#' @param dataset_2 The dataframe (rows) that you append
#' @keywords add rows
#' @export
#' @examples
#' add_rows()
add_rows <- function(dataset_1, dataset_2){
    # Make sure that it makes sense to add rows
    if(!identical(colnames(dataset_1), colnames(dataset_2))){
        stop("Columns do not match - make sure that columns match")
    }

    # Make into dataframe if not one
    dataset_1 <- as.data.frame(dataset_1)
    dataset_2 <- as.data.frame(dataset_2)

    # Add rows
    dat_return <- rbind(as.matrix(dataset_1), as.matrix(dataset_2))

    # Turn into dataframe
    dat_return <- as.data.frame(dat_return)

    # make into character/numeric in accordance with dataset_1
    for(i in 1:ncol(dataset_1)){
        if(class(dataset_1[, i]) == "character"){
            dat_return[, i] <- as.character(dat_return[, i])
        } else if(class(dataset_1[, i]) == "numeric"){
            dat_return[, i] <- as.numeric(as.character(dat_return[, i]))
        } else if(class(dataset_1[, i]) == "integer"){
            dat_return[, i] <- as.integer(as.character(dat_return[, i]))
        }
    }

    # Return the data frame
    return(dat_return)
}
EriksenJ/Wrangler documentation built on May 14, 2019, 8:18 a.m.